diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml deleted file mode 100644 index cdc668c..0000000 --- a/.github/workflows/create-release.yml +++ /dev/null @@ -1,27 +0,0 @@ -on: - push: - # Sequence of patterns matched against refs/tags - tags: - - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 - -name: Create Release - -jobs: - build: - name: Create Release - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token - with: - tag_name: ${{ github.ref }} - release_name: Release ${{ github.ref }} - body: | - Changes in this Release - draft: false - prerelease: false diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index c907838..43e9280 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -7,24 +7,25 @@ on: release: types: - published - - created - - edited - - released + workflow_dispatch: permissions: - id-token: write contents: read + id-token: write jobs: publish-npm: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 with: node-version: 22 registry-url: https://registry.npmjs.org/ + - run: npm install -g npm@latest - run: npm ci - - run: npm test - - run: unset NODE_AUTH_TOKEN && npm publish --ignore-scripts + - run: npm run build + - run: | + TAG=$(node -p "require('./package.json').version.includes('-') ? 'beta' : 'latest'") + npm publish --provenance --ignore-scripts --tag $TAG diff --git a/package.json b/package.json index 7baa5c8..2bb1249 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,9 @@ "test": "nyc mocha test/**/*Test.js", "posttest": "nyc report --reporter=html --reporter=lcov", "eslint-check": "eslint --print-config .eslintrc.js | eslint-config-prettier-check", - "precommit": "lint-staged" + "precommit": "lint-staged", + "gh:release": "gh release create v$npm_package_version --generate-notes --verify-tag --target master", + "gh:prerelease": "gh release create v$npm_package_version --prerelease --generate-notes --verify-tag --target master" }, "lint-staged": { "*.js": [