mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-19 14:48:08 +02:00
Introduce a GitHub Actions workflow for publishing a release
This commit migrates this functionality away from the bots. Note that the NPM token must be configured as a repository secret before this workflow can execute. The following resources are relevant for this patch: - Publishing packages to the NPM registry: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages#publishing-packages-to-the-npm-registry - Creating secrets for a repository: https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository
This commit is contained in:
parent
40b0c848ee
commit
a5f2b9faeb
2 changed files with 40 additions and 43 deletions
38
.github/workflows/publish_release.yml
vendored
Normal file
38
.github/workflows/publish_release.yml
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
name: Publish release
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
name: Publish
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [lts/*]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
|
||||
- name: Build the `pdfjs-dist` library
|
||||
run: npx gulp dist
|
||||
|
||||
- name: Publish the `pdfjs-dist` library to NPM
|
||||
run: npm publish ./build/dist
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
45
gulpfile.mjs
45
gulpfile.mjs
|
@ -2240,7 +2240,7 @@ function packageJson() {
|
|||
}
|
||||
|
||||
gulp.task(
|
||||
"dist-pre",
|
||||
"dist",
|
||||
gulp.series(
|
||||
"generic",
|
||||
"generic-legacy",
|
||||
|
@ -2368,7 +2368,7 @@ gulp.task(
|
|||
|
||||
gulp.task(
|
||||
"dist-install",
|
||||
gulp.series("dist-pre", function createDistInstall(done) {
|
||||
gulp.series("dist", function createDistInstall(done) {
|
||||
let distPath = DIST_DIR;
|
||||
const opts = {};
|
||||
const installPath = process.env.PDFJS_INSTALL_PATH;
|
||||
|
@ -2381,47 +2381,6 @@ gulp.task(
|
|||
})
|
||||
);
|
||||
|
||||
gulp.task(
|
||||
"dist",
|
||||
gulp.series("dist-pre", function createDist(done) {
|
||||
const VERSION = getVersionJSON().version;
|
||||
|
||||
console.log();
|
||||
console.log("### Committing changes");
|
||||
|
||||
let reason = process.env.PDFJS_UPDATE_REASON;
|
||||
// Attempt to work-around the broken link, see https://github.com/mozilla/pdf.js/issues/10391
|
||||
if (typeof reason === "string") {
|
||||
const reasonParts =
|
||||
/^(See )(mozilla\/pdf\.js)@tags\/(v\d+\.\d+\.\d+)\s*$/.exec(reason);
|
||||
|
||||
if (reasonParts) {
|
||||
reason =
|
||||
reasonParts[1] +
|
||||
"https://github.com/" +
|
||||
reasonParts[2] +
|
||||
"/releases/tag/" +
|
||||
reasonParts[3];
|
||||
}
|
||||
}
|
||||
const message =
|
||||
"PDF.js version " + VERSION + (reason ? " - " + reason : "");
|
||||
safeSpawnSync("git", ["add", "*"], { cwd: DIST_DIR });
|
||||
safeSpawnSync("git", ["commit", "-am", message], { cwd: DIST_DIR });
|
||||
safeSpawnSync("git", ["tag", "-a", "v" + VERSION, "-m", message], {
|
||||
cwd: DIST_DIR,
|
||||
});
|
||||
|
||||
console.log();
|
||||
console.log("Done. Push with");
|
||||
console.log(
|
||||
" cd " + DIST_DIR + "; git push --tags " + DIST_REPO_URL + " master"
|
||||
);
|
||||
console.log();
|
||||
done();
|
||||
})
|
||||
);
|
||||
|
||||
gulp.task(
|
||||
"mozcentralbaseline",
|
||||
gulp.series(createBaseline, function createMozcentralBaseline(done) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue