From 1bb15c4a7688d0d86d5e7500f5407db105fc2948 Mon Sep 17 00:00:00 2001 From: Dave Rogers Date: Thu, 17 Oct 2024 15:29:14 -0700 Subject: [PATCH] chore: release-please config (#227) --- .github/workflows/release-please.yml | 47 ++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/release-please.yml diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 00000000..8da8e8d0 --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,47 @@ +on: + push: + branches: + - main + +permissions: + contents: write + pull-requests: write + +name: release-please + +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: googleapis/release-please-action@v4 + with: + # this assumes that you have created a personal access token + # (PAT) and configured it as a GitHub action secret named + # `MY_RELEASE_PLEASE_TOKEN` (this secret name is not important). + token: ${{ secrets.RELEASE_PLEASE_TOKEN }} + # This is a built-in strategy in release-please, see "Action Inputs" for more options + release-type: node + + # The logic below handles the npm publication: + - uses: actions/checkout@v4 + # These if statements ensure that a publication only occurs when a new release is created: + + - uses: actions/setup-node@v4 + if: ${{ steps.release.outputs.release_created }} + with: + node-version: 20 + registry-url: "https://registry.npmjs.org" + + - name: Install dependencies + if: ${{ steps.release.outputs.release_created }} + run: npm ci + + - name: Compile + if: ${{ steps.release.outputs.release_created }} + run: npx tsc + + - name: Publish to NPM + if: ${{ steps.release.outputs.release_created }} + run: npm publish --dry-run + env: + NODE_AUTH_TOKEN: ${{ secrets.DATABIOSPHERE_FINDABLE_UI_NPM_PUBLISH_TOKEN }} # Ensure this token is scoped to only the permissions required for npm publication to limit security risks.