From 7f6ea6383d29a93505107fb2f05cea856c81e5cd Mon Sep 17 00:00:00 2001 From: v1rtl Date: Thu, 19 Sep 2024 18:25:05 +0300 Subject: [PATCH] update gha to use changesets --- .github/workflows/publish.yml | 79 +++++++++++++++++------------------ 1 file changed, 39 insertions(+), 40 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 668fec80..d276fda4 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,56 +1,55 @@ -name: Publish +name: Release on: - release: - types: [published] + push: + branches: + - master + +defaults: + run: + shell: bash + +env: + FORCE_COLOR: true jobs: - publish: - name: Publish + changelog: + name: PR or Release + if: ${{ github.repository_owner == 'ensdomains' }} + runs-on: ubuntu-latest permissions: - id-token: write contents: write - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [18] + id-token: write steps: - uses: actions/checkout@v4 - with: - ref: ${{ github.event.release.target_commitish }} - - uses: pnpm/action-setup@v4 - with: - version: 9.4.0 + - uses: actions/checkout@v4 + - name: Enable corepack + run: corepack enable pnpm - - name: Install Node.js - uses: actions/setup-node@v4 + - uses: actions/setup-node@v4 with: - node-version: ${{ matrix.node-version }} cache: 'pnpm' + node-version: 18 + registry-url: 'https://registry.npmjs.org' - - run: pnpm install --frozen-lockfile + - name: Install dependencies + run: pnpm install - - name: Set up git - run: | - git config --local user.email '41898282+github-actions[bot]@users.noreply.github.com' - git config --local user.name 'github-actions[bot]' + - name: Build Packages + run: pnpm -r build - - name: Bump version to ${{ github.event.release.tag_name }} - run: | - pnpm -F @ensdomains/ensjs ver ${{ github.event.release.tag_name }} - git add . - git commit -m "${{ github.event.release.tag_name }}" - - - name: Publish - env: - NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - NPM_CONFIG_PROVENANCE: true - run: | - pnpm config set //registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN} - pnpm -F @ensdomains/ensjs publish - - - name: Push changes - run: git push + - name: Create Release Pull Request or Publish + id: changesets + uses: changesets/action@v1 + with: + # Note: pnpm install after versioning is necessary to refresh lockfile + version: chgset:version + publish: pnpm release + commit: "chore: release" + title: "[ci] release" env: - github-token: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # Needs access to publish to npm + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_CONFIG_PROVENANCE: true \ No newline at end of file