diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 91fe320..8373482 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,6 +49,17 @@ jobs: - name: Build and release env: + RELEASE_WORKFLOW_STEP: release + GITHUB_ACTOR: ${{ github.actor }} + GITHUB_TOKEN: ${{ secrets.REPOSITORY_PUSH_ACCESS }} + run: bunx multi-semantic-release + + # We call multi-semantic-release twice to publish in a different step + # An environment variable determines which plugins in the config to run + - name: Trigger Portainer webhooks + if: github.ref == 'refs/heads/main' + env: + RELEASE_WORKFLOW_STEP: publish DOCKER_REGISTRY_USER: ${{ github.actor }} DOCKER_REGISTRY_PASSWORD: ${{ secrets.GITHUB_TOKEN }} GITHUB_ACTOR: ${{ github.actor }} diff --git a/.releaserc b/.releaserc deleted file mode 100644 index 2d80a81..0000000 --- a/.releaserc +++ /dev/null @@ -1,55 +0,0 @@ -{ - "branches": [ - "main", - { - "name": "dev", - "prerelease": true - } - ], - "plugins": [ - [ - "@semantic-release/commit-analyzer", - { - "releaseRules": [ - { "type": "build", "scope": "Needs bump", "release": "patch" } - ] - } - ], - "@semantic-release/release-notes-generator", - "@semantic-release/changelog", - [ - "@semantic-release/git", - { - "assets": [ - "README.md", - "CHANGELOG.md", - "package.json" - ] - } - ], - [ - "@semantic-release/github", - { - "assets": [ - { - "path": "dist/*" - } - ], - "successComment": false - } - ], - [ - "@saithodev/semantic-release-backmerge", - { - "backmergeBranches": [ - { - "from": "main", - "to": "dev" - } - ], - "clearWorkspace": true - }, - true - ] - ] -} \ No newline at end of file diff --git a/.releaserc.js b/.releaserc.js new file mode 100644 index 0000000..175fde7 --- /dev/null +++ b/.releaserc.js @@ -0,0 +1,52 @@ +export default { + branches: [ + 'main', + { + name: 'dev', + prerelease: true, + }, + ], + plugins: + process.env.RELEASE_WORKFLOW_STEP === 'release' + ? [ + [ + '@semantic-release/commit-analyzer', + { + releaseRules: [{ type: 'build', scope: 'Needs bump', release: 'patch' }], + }, + ], + '@semantic-release/release-notes-generator', + '@semantic-release/changelog', + [ + '@semantic-release/git', + { + assets: ['README.md', 'CHANGELOG.md', 'package.json'], + }, + ], + [ + '@semantic-release/github', + { + assets: [ + { + path: 'dist/*', + }, + ], + successComment: false, + }, + ], + [ + '@saithodev/semantic-release-backmerge', + { + backmergeBranches: [ + { + from: 'main', + to: 'dev', + }, + ], + clearWorkspace: true, + }, + true, + ], + ] + : [], +} diff --git a/apis/websocket/.releaserc.js b/apis/websocket/.releaserc.js index 811889d..eeed372 100644 --- a/apis/websocket/.releaserc.js +++ b/apis/websocket/.releaserc.js @@ -1,25 +1,7 @@ -import { $ } from 'execa' - -const branch = (await $`git rev-parse --abbrev-ref HEAD`).stdout.trim() - export default { plugins: - branch === 'main' + process.env.RELEASE_WORKFLOW_STEP === 'publish' ? [ - [ - '@codedependant/semantic-release-docker', - { - dockerImage: 'revanced-bot-websocket-api', - dockerRegistry: 'ghcr.io', - dockerProject: 'revanced', - dockerContext: '../..', - dockerPlatform: ['linux/amd64', 'linux/arm64'], - dockerArgs: { - GITHUB_ACTOR: null, - GITHUB_TOKEN: null, - }, - }, - ], [ '@semantic-release/exec', { @@ -27,5 +9,18 @@ export default { }, ], ] - : [], + : [ + '@codedependant/semantic-release-docker', + { + dockerImage: 'revanced-bot-websocket-api', + dockerRegistry: 'ghcr.io', + dockerProject: 'revanced', + dockerContext: '../..', + dockerPlatform: ['linux/amd64', 'linux/arm64'], + dockerArgs: { + GITHUB_ACTOR: null, + GITHUB_TOKEN: null, + }, + }, + ], } diff --git a/bots/discord/.releaserc.js b/bots/discord/.releaserc.js index 06f1fec..737d57c 100644 --- a/bots/discord/.releaserc.js +++ b/bots/discord/.releaserc.js @@ -1,11 +1,15 @@ -import { $ } from 'execa' - -const branch = (await $`git rev-parse --abbrev-ref HEAD`).stdout.trim() - export default { plugins: - branch === 'main' + process.env.RELEASE_WORKFLOW_STEP === 'publish' ? [ + [ + '@semantic-release/exec', + { + publishCmd: 'bun run scripts/trigger-portainer-webhook.ts', + }, + ], + ] + : [ [ '@codedependant/semantic-release-docker', { @@ -20,12 +24,5 @@ export default { }, }, ], - [ - '@semantic-release/exec', - { - publishCmd: 'bun run scripts/trigger-portainer-webhook.ts', - }, - ], - ] - : [], + ], }