publish #86
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
# This workflow handles releasing all of the packages in samples. | |
name: publish | |
on: | |
workflow_dispatch: # Manually trigger. Colon is required. | |
schedule: | |
- cron: '5 17 * * 4' # Thursdays at 17:05 UTC (09:05 PST / 10:05 PDT) | |
permissions: | |
contents: write # For checkout and tag. | |
packages: write # For publish. | |
jobs: | |
publish: | |
runs-on: ubuntu-latest | |
# Don't try to publish from a fork of google/blockly-samples. | |
if: ${{ github.repository_owner == 'google' }} | |
# Environment specific to releasing so we can isolate the npm token. | |
environment: release | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
# fetch all tags and commits so that lerna can version appropriately | |
with: | |
fetch-depth: 0 | |
ref: 'master' | |
# This uses a reverse-engineered email for the github actions bot. See | |
# https://github.com/actions/checkout/issues/13#issuecomment-724415212 | |
- name: Git Identity | |
run: | | |
git config --global user.name 'github-actions[bot]' | |
git config --global user.email '<41898282+github-actions[bot]@users.noreply.github.com' | |
- name: Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- name: Configure npm | |
run: npm config set //wombat-dressing-room.appspot.com/:_authToken=$NODE_AUTH_TOKEN | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.RELEASE_BACKED_NPM_TOKEN }} | |
- name: NPM install | |
# Use CI so that we don't update dependencies in this step. | |
run: npm ci | |
- name: Build | |
run: npm run build -- -- -- --skip-lint | |
- name: Test | |
run: npm run test -- -- -- --skip-lint | |
- name: Publish | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: npx lerna publish --conventional-commits --create-release github --yes --ignore-scripts | |
update-gh-pages: | |
name: Update GitHub Pages | |
# Call the Update gh-pages workflow only if publishing succeeds | |
needs: [publish] | |
# Don't try to auto-update if on a fork of google/blockly-samples. | |
if: ${{ github.repository_owner == 'google' }} | |
uses: ./.github/workflows/update_gh_pages.yml |