name: CI

on:
  [ push ]
permissions:
  contents: write
  id-token: write  # Required for OIDC
jobs:
  ci:
    environment: ci
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2

    - name: Set Node.js version
      uses: actions/setup-node@v1
      with:
        node-version: 12.x

    - name: Install dependencies
      run: npm install

    - name: Run the tests
      run: npm run test
    - name: Create Release draft
      if: startsWith(github.ref, 'refs/tags/')
      id: create_release
      uses: softprops/action-gh-release@master
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        draft: true
        prerelease: false
    - name: Set up latest NPM for publish
      uses: actions/setup-node@v5
      with:
        node-version: 24
        registry-url: "https://registry.npmjs.org"
    - name: Build and publish package
      if: startsWith(github.ref, 'refs/tags/')
      run: npm publish --access=public
