1
0
Fork 0
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:
Tim van der Meij 2024-06-30 15:15:11 +02:00
parent 40b0c848ee
commit a5f2b9faeb
No known key found for this signature in database
GPG key ID: 8C3FD2925A5F2762
2 changed files with 40 additions and 43 deletions

38
.github/workflows/publish_release.yml vendored Normal file
View 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 }}

View file

@ -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) {