diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..7ab615c --- /dev/null +++ b/.gitea/workflows/release.yml @@ -0,0 +1,27 @@ +name: Release +on: [workflow_dispatch] + +permissions: + contents: read # for checkout + +jobs: + release: + name: Release + runs-on: ubuntu-latest + permissions: + contents: write # to be able to publish a GitHub release + issues: write # to be able to comment on released issues + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "lts/*" + + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: npx semantic-release diff --git a/.releaserc.json b/.releaserc.json new file mode 100644 index 0000000..9c153c9 --- /dev/null +++ b/.releaserc.json @@ -0,0 +1,36 @@ +{ + "branches": [ + "main" + ], + "plugins": [ + "@semantic-release/commit-analyzer", + "@semantic-release/release-notes-generator", + [ + "@semantic-release/exec", + { + "prepareCmd": "jq '.version = \"${nextRelease.version}\"' src/info.json | sponge src/info.json" + } + ], + [ + "@semantic-release/exec", + { + "prepareCmd": "cd src && zip -r ../prometheus-exporter_${nextRelease.version}.zip ." + } + ], + [ + "@semantic-release/git", + { + "assets": [ + "src/info.json" + ], + "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" + } + ], + "@semantic-release/github", + { + "assets": [ + "prometheus-exporter_*.zip" + ] + } + ] +} \ No newline at end of file