name: release

on:
  schedule:
    - cron: '0 0 * * *'
  workflow_dispatch:

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
        with:
          fetch-depth: 0
          token: ${{ secrets.GH_ADMIN_TOKEN }}

      - name: Set up Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 18
          always-auth: true
          registry-url: https://registry.npmjs.org

      - uses: pnpm/action-setup@v2
        with:
          version: 8.15.6

      - name: Setup Git
        run: |
          git config --local user.name "Artem Zakharchenko"
          git config --local user.email "kettanaito@gmail.com"

      - name: Install dependencies
        run: pnpm install

      - name: Test
        run: pnpm test

      - name: Release
        run: pnpm release
        env:
          GITHUB_TOKEN: ${{ secrets.GH_ADMIN_TOKEN }}
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
