name: release-announcements
# Automatic release toot and tweet anouncements
on:
  release:
    types: [published]
  workflow_dispatch:

jobs:
  toot:
    runs-on: ubuntu-latest
    steps:
      - name: get topics and convert to hashtags
        id: get_topics
        run: |
          echo "topics=$(curl -s https://nf-co.re/pipelines.json | jq -r '.remote_workflows[] | select(.full_name == "${{ github.repository }}") | .topics[]' | awk '{print "#"$0}' | tr '\n' ' ')" | sed 's/-//g' >> $GITHUB_OUTPUT

      - uses: rzr/fediverse-action@master
        with:
          access-token: ${{ secrets.MASTODON_ACCESS_TOKEN }}
          host: "mstdn.science" # custom host if not "mastodon.social" (default)
          # GitHub event payload
          # https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#release
          message: |
            Pipeline release! ${{ github.repository }} v${{ github.event.release.tag_name }} - ${{ github.event.release.name }}!

            Please see the changelog: ${{ github.event.release.html_url }}

            ${{ steps.get_topics.outputs.topics }} #nfcore #openscience #nextflow #bioinformatics

  bsky-post:
    runs-on: ubuntu-latest
    steps:
      - uses: zentered/bluesky-post-action@80dbe0a7697de18c15ad22f4619919ceb5ccf597 # v0.1.0
        with:
          post: |
            Pipeline release! ${{ github.repository }} v${{ github.event.release.tag_name }} - ${{ github.event.release.name }}!

            Please see the changelog: ${{ github.event.release.html_url }}
        env:
          BSKY_IDENTIFIER: ${{ secrets.BSKY_IDENTIFIER }}
          BSKY_PASSWORD: ${{ secrets.BSKY_PASSWORD }}
          #
