Skip to content

Add release.published trigger to release workflow #7

Add release.published trigger to release workflow

Add release.published trigger to release workflow #7

Workflow file for this run

---
name: release
on:
push:
branches:
- '**'
release:
types:
- published
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: [self-hosted, macOS]
steps:
- uses: actions/checkout@v6
with:
clean: true
- name: Clear SwiftPM caches
run: |
rm -rf ~/.swiftpm
rm -rf ~/Library/Caches/org.swift.swiftpm
rm -rf ~/Library/org.swift.swiftpm
rm -rf .swiftpm
rm -rf .build
- name: Run Tests
run: swift test -v
notify_package_collection:
# Only notify when an actual GitHub Release is published
if: github.event_name == 'release' && github.event.action == 'published'
runs-on: ubuntu-latest
needs: test
steps:
- name: Trigger swift-package-collection rebuild
env:
COLLECTION_REPO: thatfactory/swift-package-collection
WORKFLOW_FILE: release.yml
REF: main
GH_TOKEN: ${{ secrets.COLLECTION_TRIGGER_TOKEN }}
SOURCE_REPO: ${{ github.repository }}
SOURCE_VERSION: ${{ github.event.release.tag_name }}
run: |
set -euo pipefail
if [ -z "${GH_TOKEN:-}" ]; then
echo "Missing COLLECTION_TRIGGER_TOKEN secret"
exit 1
fi
curl -sS -X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer $GH_TOKEN" \
"https://api.github.com/repos/$COLLECTION_REPO/actions/workflows/$WORKFLOW_FILE/dispatches" \
-d "{\"ref\":\"$REF\",\"inputs\":{\"source_repo\":\"$SOURCE_REPO\",\"source_version\":\"$SOURCE_VERSION\"}}"