4.0.0 (#206) #68
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish Release | |
on: | |
push: | |
branches: [main] | |
jobs: | |
is-release: | |
# release merge commits come from github-actions | |
if: startsWith(github.event.commits[0].author.name, 'github-actions') | |
outputs: | |
IS_RELEASE: ${{ steps.is-release.outputs.IS_RELEASE }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: MetaMask/action-is-release@v1 | |
id: is-release | |
publish-release: | |
permissions: | |
contents: write | |
if: needs.is-release.outputs.IS_RELEASE == 'true' | |
runs-on: ubuntu-latest | |
needs: is-release | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.sha }} | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
- uses: MetaMask/action-publish-release@v2 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install | |
run: | | |
yarn install | |
yarn build | |
- uses: actions/cache@v3 | |
id: restore-build | |
with: | |
path: ./dist | |
key: ${{ github.sha }} | |
publish-npm-dry-run: | |
runs-on: ubuntu-latest | |
needs: publish-release | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.sha }} | |
- uses: actions/cache@v3 | |
id: restore-build | |
with: | |
path: ./dist | |
key: ${{ github.sha }} | |
# Set `ignore-scripts` to skip `prepublishOnly` because the release was built already in the previous job | |
- run: npm config set ignore-scripts true | |
- name: Dry Run Publish | |
# omit npm-token token to perform dry run publish | |
uses: MetaMask/action-npm-publish@v1 | |
env: | |
SKIP_PREPACK: true | |
publish-npm: | |
environment: npm-publish | |
runs-on: ubuntu-latest | |
needs: publish-npm-dry-run | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.sha }} | |
- uses: actions/cache@v3 | |
id: restore-build | |
with: | |
path: ./dist | |
key: ${{ github.sha }} | |
# Set `ignore-scripts` to skip `prepublishOnly` because the release was built already in the previous job | |
- run: npm config set ignore-scripts true | |
- name: Publish | |
uses: MetaMask/action-npm-publish@v1 | |
with: | |
# This `NPM_TOKEN` needs to be manually set per-repository. | |
# Look in the repository settings under "Environments", and set this token in the `npm-publish` environment. | |
npm-token: ${{ secrets.NPM_TOKEN }} | |
env: | |
SKIP_PREPACK: true |