name: release on: push: tags: ["v*"] permissions: contents: write jobs: test: name: test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - run: npm ci - name: Run tests run: npm test || echo "No tests configured" publish-npm: name: publish-npm needs: test runs-on: ubuntu-latest environment: name: npm url: https://www.npmjs.com/package/@saiden/browse steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' registry-url: 'https://registry.npmjs.org' - run: npm ci - name: Build run: npm run build || true - name: Publish to npm run: npm publish --access public env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} release: name: release needs: test runs-on: ubuntu-latest environment: release steps: - uses: actions/checkout@v4 - name: Create release uses: softprops/action-gh-release@v2 with: generate_release_notes: true