name: Continuous Integration
on: push
jobs:
  unit-tests:
    uses: ./.github/workflows/_test.yml
  npm-publish:
    needs: unit-tests
    if: github.ref == 'refs/heads/master' && needs.unit-tests.result == 'success'
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v4
      - name: Install Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20.x
      - name: Run semantic-release
        env:
          GH_TOKEN: ${{ secrets.GH_SEMANTIC_RELEASE_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
        run: >
          if [[ -n "$GH_TOKEN" && -n "$NPM_TOKEN" ]]; then
            curl "https://raw.githubusercontent.com/pelias/ci-tools/master/semantic-release.sh" | bash -
          fi
