diff --git a/.github/workflows/announce-release-bluesky.yml b/.github/workflows/announce-release-bluesky.yml index 59ac4d54..31fb4bb9 100644 --- a/.github/workflows/announce-release-bluesky.yml +++ b/.github/workflows/announce-release-bluesky.yml @@ -1,8 +1,19 @@ name: Announce Release on Bluesky on: - release: - types: [published] + workflow_call: + inputs: + tag: + description: 'Tag of the release to announce' + required: true + type: string + secrets: + BLUESKY_URL: + required: true + BLUESKY_IDENTIFIER: + required: true + BLUESKY_APP_PASSWORD: + required: true permissions: contents: read @@ -10,7 +21,6 @@ permissions: jobs: announce: name: 'Post release announcement on Bluesky' - if: github.event.release.discussion_url != '' runs-on: ubuntu-latest steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 @@ -30,6 +40,6 @@ jobs: BLUESKY_URL: ${{ secrets.BLUESKY_URL }} BLUESKY_IDENTIFIER: ${{ secrets.BLUESKY_IDENTIFIER }} BLUESKY_APP_PASSWORD: ${{ secrets.BLUESKY_APP_PASSWORD }} - RELEASE_TAG: ${{ github.event.release.tag_name }} - RELEASE_URL: ${{ github.event.release.html_url }} + RELEASE_TAG: ${{ inputs.tag }} + RELEASE_URL: https://github.com/${{ github.repository }}/releases/tag/${{ inputs.tag }} run: node .github/workflows/scripts/post-bluesky.mjs diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 796319cc..616b6d21 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -30,6 +30,8 @@ jobs: runs-on: ubuntu-latest permissions: contents: write + outputs: + tag: ${{ steps.changelog.outputs.tag }} steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: @@ -67,3 +69,14 @@ jobs: git push origin "refs/tags/$TAG" env: TAG: ${{ steps.changelog.outputs.tag }} + announce-release: + name: 'Announce release' + needs: create-release + if: ${{ github.event.inputs.dry_run != 'true' }} + uses: ./.github/workflows/announce-release-bluesky.yml + with: + tag: ${{ needs.create-release.outputs.tag }} + secrets: + BLUESKY_URL: ${{ secrets.BLUESKY_URL }} + BLUESKY_IDENTIFIER: ${{ secrets.BLUESKY_IDENTIFIER }} + BLUESKY_APP_PASSWORD: ${{ secrets.BLUESKY_APP_PASSWORD }} diff --git a/.github/workflows/scripts/post-bluesky.mjs b/.github/workflows/scripts/post-bluesky.mjs index 146d6c3d..91b90689 100644 --- a/.github/workflows/scripts/post-bluesky.mjs +++ b/.github/workflows/scripts/post-bluesky.mjs @@ -11,7 +11,7 @@ const session = new CredentialSession(new URL(url)); await session.login({ identifier, password }); const agent = new Agent(session); -const text = `🚀 New release: ${formatReleaseLabel(releaseTag)}\n\nSneak peek at the release notes: ${releaseUrl}`; +const text = `🚀 New release on its way: ${formatReleaseLabel(releaseTag)}\n\nRelease notes will land shortly at: ${releaseUrl}`; const richText = new RichText({ text }); await richText.detectFacets(agent);