diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e3f92d7..fcd42f1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,11 +1,14 @@ -name: CI +name: Create Release on tag push + on: - - push - - pull_request + push: + tags: ['*'] + branches: [main] + jobs: - test: - name: Node.js ${{ matrix.node-version }} + build: runs-on: ubuntu-latest + name: Node.js ${{ matrix.node-version }} strategy: fail-fast: false matrix: @@ -20,3 +23,28 @@ jobs: node-version: ${{ matrix.node-version }} - run: npm ci - run: npm test + + create-release: + needs: build + if: startsWith(github.ref, 'refs/tags/v') + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ncipollo/release-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + generateReleaseNotes: true + + publish-npm: + needs: create-release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v3 + with: + node-version: 18 + registry-url: https://registry.npmjs.org/ + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.npm_token}}