name: Release Canary Version

on:
  push:
    branches:
      - build/ci
      - ci/*

jobs:
  release_canary:
    name: Prepare branch and release Canary version
    runs-on: ubuntu-latest
    env:
      CI: 'true'
    steps:
      - name: Check out code
        uses: actions/checkout@v4
      - name: Configure CI Git User
        run: |
          git config --global user.name 'Danilo Velasquez'
          git config --global user.email 'danilo.velasquez@gmail.com'
          git remote set-url origin https://$GITHUB_TOKEN@github.com/dvelasquez/carbon-tools
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - uses: pnpm/action-setup@v4
        with:
          version: 9
      - name: Install node
        uses: actions/setup-node@v4
        with:
          node-version: 22.x
          cache: 'pnpm'
      - name: Install Dependencies
        run: pnpm install
      - name: Lint
        run: pnpm lint
      - name: build
        run: pnpm lerna:build
      - name: Run Node TAP tests
        run: pnpm test
      - name: Version
        run: pnpm lerna:version
      - name: NPM Auth
        run: |
          yarn logout
          echo "//registry.npmjs.org/:_authToken=\${NPM_TOKEN}" >> .npmrc 2> /dev/null
          npm whoami
          npm config set access public
        env:
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
      - name: Publish package
        run: npm run lerna:deploy:ci:canary
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}