name: Publish Packages

on:
  push:
    branches: [ main ]

jobs:
  release_and_publish:
    if: contains(github.event.head_commit.message, 'chore(release)') == false
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
        with:
          token: ${{ secrets.CI_PAT_TOKEN }}
          fetch-depth: 0

      - 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@v5
        with:
          gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
          passphrase: ${{ secrets.PASSPHRASE }}
          git_user_signingkey: true
          git_commit_gpgsign: true

      - name: Set up Node
        uses: actions/setup-node@v3
        with:
          registry-url: 'https://registry.npmjs.org'
          node-version-file: '.nvmrc'

      - name: Build packages
        run: yarn build

      - name: Bump version
        run: yarn release

      - name: Publish
        run: yarn publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.CI_NPM_TOKEN }}

