name: Version Bump on: push: branches: [ develop, main ] jobs: Build: if: contains(github.event.head_commit.message, 'chore(release)') == 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