diff --git a/.github/workflows/on-release-created.yml b/.github/workflows/on-release-created.yml deleted file mode 100644 index 6258fa693a..0000000000 --- a/.github/workflows/on-release-created.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: On Release Created (Publish misskey-js) - -on: - release: - types: [created] - - workflow_dispatch: - -jobs: - publish-misskey-js: - name: Publish misskey-js - runs-on: ubuntu-latest - - permissions: - contents: read - id-token: write - - strategy: - matrix: - node-version: [22.11.0] - - steps: - - uses: actions/checkout@v4.1.1 - with: - submodules: true - - name: Install pnpm - uses: pnpm/action-setup@v4 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.4 - with: - node-version: ${{ matrix.node-version }} - cache: 'pnpm' - registry-url: 'https://registry.npmjs.org' - - name: Publish package - run: | - corepack enable - pnpm i --frozen-lockfile - pnpm build - pnpm --filter misskey-js publish --access public --no-git-checks --provenance - env: - NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} - NPM_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} diff --git a/.github/workflows/on-release-published.yml b/.github/workflows/on-release-published.yml new file mode 100644 index 0000000000..b966c2fe70 --- /dev/null +++ b/.github/workflows/on-release-published.yml @@ -0,0 +1,78 @@ +name: On Release Published + +on: + release: + types: + - published + + workflow_dispatch: + inputs: + misskey-hub: + type: boolean + description: 'Update Misskey Hub' + default: false + misskey-js: + type: boolean + description: 'Start Release Candidate' + default: false + +jobs: + update-misskey-hub: + name: Update Misskey Hub (Repository Dispatch) + runs-on: ubuntu-latest + if: ${{ (github.event.name == 'workflow_dispatch' && inputs.misskey-hub == true) || github.release.prerelease == false }} + + steps: + - name: Get current date + id: date + run: echo "::set-output name=date::$(date +'%Y-%m-%d')" + - name: Generate token + id: generate-token + uses: actions/create-github-app-token@v1 + with: + app-id: ${{ secrets.RELEASE_APP_ID }} + private-key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} + owner: ${{ github.repository_owner }} + repositories: misskey-dev/misskey-hub-next + - name: Repository Dispatch + uses: peter-evans/repository-dispatch@v3 + with: + token: ${{ steps.generate-token.outputs.token }} + repository: misskey-dev/misskey-hub-next + event-type: misskey_release + client-payload: '{"version": "${{ github.release.name }}", "date": "${{ steps.date.outputs.date }}"}' + + publish-misskey-js: + name: Publish misskey-js + runs-on: ubuntu-latest + if: ${{ (github.event.name == 'workflow_dispatch' && inputs.misskey-js == true) || github.event.name == 'release' }} + + permissions: + contents: read + id-token: write + + strategy: + matrix: + node-version: [22.11.0] + + steps: + - uses: actions/checkout@v4.1.1 + with: + submodules: true + - name: Install pnpm + uses: pnpm/action-setup@v4 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4.0.4 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + registry-url: 'https://registry.npmjs.org' + - name: Publish package + run: | + corepack enable + pnpm i --frozen-lockfile + pnpm build + pnpm --filter misskey-js publish --access public --no-git-checks --provenance + env: + NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} + NPM_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}