From df8b891ff2bbf37d4682a441f6f160d7a6d996c3 Mon Sep 17 00:00:00 2001 From: Bruce Felt <552364+freakyfelt@users.noreply.github.com> Date: Fri, 24 May 2024 14:08:33 -0700 Subject: [PATCH] chore: bootstrap releases for path: . (#400) * chore: bootstrap releases for path: . * fixup: add GitHub action * fixup: use nvmrc for node version * fixup: reuse npm cache if present --- .github/workflows/dependabot.yml | 1 + .github/workflows/node.js.yml | 4 ++-- .github/workflows/npm-publish.yml | 26 -------------------------- .github/workflows/release-please.yml | 27 +++++++++++++++++++++++++++ .release-please-manifest.json | 3 +++ .releaserc | 15 --------------- package.json | 8 -------- release-please-config.json | 13 +++++++++++++ 8 files changed, 46 insertions(+), 51 deletions(-) delete mode 100644 .github/workflows/npm-publish.yml create mode 100644 .github/workflows/release-please.yml create mode 100644 .release-please-manifest.json delete mode 100644 .releaserc create mode 100644 release-please-config.json diff --git a/.github/workflows/dependabot.yml b/.github/workflows/dependabot.yml index cb11144..f8b4c9f 100644 --- a/.github/workflows/dependabot.yml +++ b/.github/workflows/dependabot.yml @@ -13,3 +13,4 @@ jobs: uses: fastify/github-action-merge-dependabot@v3 with: use-github-auto-merge: true + github-token: ${{ secrets.GH_PUSH_TOKEN }} diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 962a193..8cde8bf 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -20,9 +20,9 @@ jobs: # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'npm' diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml deleted file mode 100644 index 2ed1f40..0000000 --- a/.github/workflows/npm-publish.yml +++ /dev/null @@ -1,26 +0,0 @@ -# See https://github.com/semantic-release/semantic-release/blob/master/docs/recipes/ci-configurations/github-actions.md#trigger-semantic-release-on-demand - -name: Publish using semantic-release -on: - push: - branches: [ main, next, 1.x ] - -jobs: - publish-npm: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - persist-credentials: false - - uses: actions/setup-node@v3 - with: - node-version-file: .nvmrc - cache: 'npm' - registry-url: https://registry.npmjs.org/ - - run: npm ci - - name: Release - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - GITHUB_TOKEN: ${{ secrets.GH_PUSH_TOKEN }} - run: npx semantic-release diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 0000000..a59be4f --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,27 @@ +on: + push: + branches: + - main +name: release-please +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: googleapis/release-please-action@v4 + with: + token: ${{ secrets.GH_PUSH_TOKEN }} + release-type: node + - uses: actions/checkout@v4 + if: ${{ steps.release.outputs.release_created }} + - uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: 'npm' + registry-url: 'https://registry.npmjs.org' + if: ${{ steps.release.outputs.release_created }} + - run: npm ci + if: ${{ steps.release.outputs.release_created }} + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + if: ${{ steps.release.outputs.release_created }} diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 0000000..656a2ef --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "2.1.0" +} \ No newline at end of file diff --git a/.releaserc b/.releaserc deleted file mode 100644 index 5564c2a..0000000 --- a/.releaserc +++ /dev/null @@ -1,15 +0,0 @@ -{ - "branches": ["+([0-9])?(.{+([0-9]),x}).x", "main", "next"], - "plugins": [ - "@semantic-release/commit-analyzer", - "@semantic-release/release-notes-generator", - "@semantic-release/changelog", - "@semantic-release/npm", - ["@semantic-release/git", - { - "assets": ["package.json", "package-lock.json", "dist/*", "CHANGELOG.md"], - "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" - }], - "@semantic-release/github" - ] -} diff --git a/package.json b/package.json index ab081a2..c6463e9 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,6 @@ "pretest:ci": "npm run build:check", "posttest": "npm run build:check && npm run lint:fix && npm run format", "posttest:ci": "npm run lint && npm run format:check", - "release:generate": "semantic-release", "test": "tsx --test lib/**/*.test.ts", "test:ci": "tsx --test lib/**/*.test.ts", "test:watch": "tsx --test --watch lib/**/*.test.ts" @@ -38,12 +37,6 @@ "lru-cache": "^10.0.0" }, "devDependencies": { - "@semantic-release/changelog": "^6.0.2", - "@semantic-release/commit-analyzer": "^12.0.0", - "@semantic-release/git": "^10.0.1", - "@semantic-release/github": "^10.0.2", - "@semantic-release/npm": "^12.0.0", - "@semantic-release/release-notes-generator": "^13.0.0", "@tsconfig/node18": "^18.2.4", "@types/benchmark": "^2.1.2", "@types/jest": "^29.2.2", @@ -55,7 +48,6 @@ "eslint": "^8.35.0", "eslint-config-prettier": "^9.0.0", "prettier": "^3.0.0", - "semantic-release": "^23.0.0", "tsup": "^8.0.2", "tsx": "^4.10.3", "typescript": "^5.4.5" diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000..161d1ad --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,13 @@ +{ + "packages": { + ".": { + "changelog-path": "CHANGELOG.md", + "release-type": "node", + "bump-minor-pre-major": false, + "bump-patch-for-minor-pre-major": false, + "draft": false, + "prerelease": false + } + }, + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json" +} \ No newline at end of file