chore(workflow): run publish prod workflows when merging develop to main

This commit is contained in:
Mo 2022-06-22 15:38:00 -05:00
parent fe3c8153bd
commit 458d8dacaf
No known key found for this signature in database
GPG Key ID: 034B13B1644297E1
3 changed files with 81 additions and 4 deletions

View File

@ -1,8 +1,8 @@
name: Version Bump
name: Version Bump Dev
on:
push:
branches: [ develop, main ]
branches: [ develop ]
jobs:
Build:

77
.github/workflows/publish.prod.yml vendored Normal file
View File

@ -0,0 +1,77 @@
name: Version Bump Main
on:
push:
branches: [ main ]
jobs:
Build:
if: contains(github.event.head_commit.message, 'chore(release){{':'}} publish main') == false
runs-on: ubuntu-latest
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
token: ${{ secrets.CI_PAT_TOKEN }}
fetch-depth: 0
- uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
- name: Setup git config
run: |
git config --global user.name "standardci"
git config --global user.email "ci@standardnotes.com"
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v4
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.PASSPHRASE }}
git_user_signingkey: true
git_commit_gpgsign: true
- name: Set up Ruby
uses: ruby/setup-ruby@v1
- name: Install Dependencies
run: yarn install
- name: Bump Prod Version Graduate
continue-on-error: true
id: graduateRelease
if: ${{ github.ref == 'refs/heads/main' }}
run: |
yarn release:prod:graduate
yarn publish:prod
- name: Bump Prod Version Fallback
if: ${{ always() && github.ref == 'refs/heads/main' && steps.graduateRelease.outcome == 'failure' }}
run: |
echo Falling back to non-graduate release due to https://github.com/lerna/lerna/issues/2532
git stash
yarn release:prod
yarn publish:prod
- name: Bump Beta Version
if: ${{ github.ref == 'refs/heads/develop' }}
run: |
yarn release:beta
yarn publish:beta
- name: Merge release into develop
if: ${{ github.ref == 'refs/heads/main' }}
run: |
git config pull.rebase false
git checkout develop
git pull origin main
git push origin develop
- name: Notify Release Update
if: ${{ github.ref == 'refs/heads/main' }}
uses: peter-evans/repository-dispatch@v2
with:
token: ${{ secrets.CI_PAT_TOKEN }}
repository: ${{ secrets.RELEASES_EVENT_RECEIVING_REPO }}
event-type: releases-updated-event

View File

@ -26,8 +26,8 @@
"start:server:web:localhost": "lerna run start:no-binding --scope=@standardnotes/web-server",
"prepare": "husky install",
"reset": "find . -type dir -name node_modules | xargs rm -rf && rm -rf yarn.lock && yarn install",
"release:prod": "lerna version --conventional-commits --yes -m \"chore(release): publish\"",
"release:prod:graduate": "lerna version --conventional-graduate --conventional-commits --yes -m \"chore(release): publish\"",
"release:prod": "lerna version --conventional-commits --yes -m \"chore(release): publish main\"",
"release:prod:graduate": "lerna version --conventional-graduate --conventional-commits --yes -m \"chore(release): publish main\"",
"release:beta": "lerna version --conventional-prerelease --conventional-commits --yes -m \"chore(release): publish\"",
"publish:prod": "lerna publish from-git --yes",
"publish:beta": "lerna publish from-git --yes --dist-tag alpha",