style: apply gofumpt #1
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: release | |
| on: | |
| push: | |
| tags: | |
| - "v*" | |
| workflow_dispatch: | |
| inputs: | |
| tag: | |
| description: "Tag to (re)release (e.g. v0.1.0)" | |
| required: true | |
| type: string | |
| permissions: | |
| contents: write | |
| jobs: | |
| goreleaser: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Go | |
| uses: actions/setup-go@v6.4.0 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - name: Stash GoReleaser config | |
| run: cp .goreleaser.yaml /tmp/.goreleaser.yaml | |
| - name: Checkout release tag | |
| if: ${{ github.event_name == 'workflow_dispatch' }} | |
| run: git checkout ${{ inputs.tag }} | |
| - name: GoReleaser | |
| uses: goreleaser/goreleaser-action@v7.1.0 | |
| with: | |
| distribution: goreleaser | |
| version: "~> v2" | |
| args: release --clean --config /tmp/.goreleaser.yaml | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| update-homebrew-tap: | |
| runs-on: ubuntu-latest | |
| needs: goreleaser | |
| steps: | |
| - name: Resolve release tag | |
| run: | | |
| if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then | |
| echo "RELEASE_TAG=${{ inputs.tag }}" >> "$GITHUB_ENV" | |
| else | |
| echo "RELEASE_TAG=${{ github.ref_name }}" >> "$GITHUB_ENV" | |
| fi | |
| - name: Dispatch tap formula update | |
| env: | |
| GH_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }} | |
| run: | | |
| if [ -z "$GH_TOKEN" ]; then | |
| echo "::error::Set HOMEBREW_TAP_TOKEN with workflow access to steipete/homebrew-tap" | |
| exit 1 | |
| fi | |
| request_id="telecrawl-${RELEASE_TAG}-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" | |
| expected_title="Update telecrawl for ${RELEASE_TAG} (${request_id})" | |
| gh workflow run update-formula.yml \ | |
| --repo steipete/homebrew-tap \ | |
| --ref main \ | |
| -f formula=telecrawl \ | |
| -f tag="$RELEASE_TAG" \ | |
| -f repository=openclaw/telecrawl \ | |
| -f description="Telegram Desktop archive CLI with encrypted Git backups" \ | |
| -f artifact_template="{formula}_{version}_{target}.tar.gz" \ | |
| -f request_id="$request_id" | |
| run_id="" | |
| for _ in {1..30}; do | |
| run_id=$(gh run list \ | |
| --repo steipete/homebrew-tap \ | |
| --workflow update-formula.yml \ | |
| --branch main \ | |
| --event workflow_dispatch \ | |
| --limit 20 \ | |
| --json databaseId,displayTitle \ | |
| --jq ".[] | select(.displayTitle == \"$expected_title\") | .databaseId" | head -n1) | |
| if [ -n "$run_id" ]; then | |
| break | |
| fi | |
| sleep 5 | |
| done | |
| if [ -z "$run_id" ]; then | |
| echo "::error::Could not find tap workflow run with title: $expected_title" | |
| exit 1 | |
| fi | |
| gh run watch "$run_id" \ | |
| --repo steipete/homebrew-tap \ | |
| --exit-status \ | |
| --interval 10 |