name: ci
on:
  push:
    tags:
      - "*"
permissions:
  actions: read
  checks: none
  contents: write
  deployments: none
  issues: none
  packages: write
  pull-requests: none
  repository-projects: none
  security-events: none
  statuses: none

jobs:
  build:
    runs-on: self-hosted
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
      cancel-in-progress: true
    steps:
      - name: checkout repository
        uses: actions/checkout@v5

      - name: install nodejs
        uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: install dependencies and build
        run: make all

      - name: Login to npm registry
        run: echo "registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc

      - name: publish to npm registry
        run: npm publish --access=public
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
