diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6dcc1828a..251e785b0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,6 @@ on: - beta - next - main - - gamma permissions: contents: read # for checkout diff --git a/.github/workflows/release-gamma.yml b/.github/workflows/release-gamma.yml new file mode 100644 index 000000000..5c6db496c --- /dev/null +++ b/.github/workflows/release-gamma.yml @@ -0,0 +1,51 @@ +--- +name: Release (gamma) + +on: + push: + branches: + - gamma + +permissions: + contents: read + +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2 + id: generate-token + with: + app_id: ${{ secrets.ECOSPARK_APP_ID }} + private_key: ${{ secrets.ECOSPARK_APP_PRIVATE_KEY }} + # This action will create a release PR when regular conventional commits are pushed to main, it'll also detect if a release PR is merged and npm publish should happen + - uses: google-github-actions/release-please-action@v3 + id: release + with: + release-type: node + default-branch: gamma + command: manifest + token: ${{ steps.generate-token.outputs.token }} + + # Publish to NPM on new releases + - uses: actions/checkout@v4 + if: ${{ steps.release.outputs.releases_created }} + - uses: pnpm/action-setup@v2 + if: ${{ steps.release.outputs.releases_created }} + - uses: actions/setup-node@v3 + if: ${{ steps.release.outputs.releases_created }} + with: + cache: pnpm + node-version: lts/* + - name: install deps & build + run: corepack enable && pnpm --version && pnpm install --ignore-scripts + if: ${{ steps.release.outputs.releases_created }} + - name: Set publishing config + run: pnpm config set '//registry.npmjs.org/:_authToken' "${NODE_AUTH_TOKEN}" + if: ${{ steps.release.outputs.releases_created }} + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_PUBLISH_TOKEN}} + # Release Please has already incremented versions and published tags, so we just + # need to publish all unpublished versions to NPM here + - run: pnpm -r publish + if: ${{ steps.release.outputs.releases_created }}