Skip to content

Build Swift Release

Build Swift Release #1

name: Build Swift Release
on:
release:
types: [published]
env:
SWIFT_TAG: swift-${{ github.event.release.tag_name }}-RELEASE
SWIFT_WORKSPACE_CACHE: swift-${{ github.event.release.tag_name }}-workspace
SWIFT_BUILDER_TAG: ${{ github.event.release.tag_name }}-gh-runner
jobs:
fetch-sources:
name: Fetch Swift Sources
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/checkout-swift
name: "Restore or Checkout: ${{ env.SWIFT_TAG }}"
with:
swift-tag: ${{ env.SWIFT_TAG }}
swift-workspace-cache: ${{ env.SWIFT_WORKSPACE_CACHE }}
debian-bullseye:
name: Build for Debian Bullseye
runs-on: ubuntu-latest
needs: [fetch-sources]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-for-distribution
name: "Build & Publish Swift: ${{ env.SWIFT_TAG }}"
with:
swift-tag: ${{ env.SWIFT_TAG }}
swift-workspace-cache: ${{ env.SWIFT_WORKSPACE_CACHE }}
distribution: ${{ github.job }}
builder-tag: ${{ env.SWIFT_BUILDER_TAG }}
debian-bookworm:
name: Build for Debian Bookworm
runs-on: ubuntu-latest
needs: [fetch-sources]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-for-distribution
name: "Build & Publish Swift: ${{ env.SWIFT_TAG }}"
with:
swift-tag: ${{ env.SWIFT_TAG }}
swift-workspace-cache: ${{ env.SWIFT_WORKSPACE_CACHE }}
distribution: ${{ github.job }}
builder-tag: ${{ env.SWIFT_BUILDER_TAG }}
ubuntu-focal:
name: Build for Ubuntu Focal
runs-on: ubuntu-latest
needs: [fetch-sources]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-for-distribution
name: "Build & Publish Swift: ${{ env.SWIFT_TAG }}"
with:
swift-tag: ${{ env.SWIFT_TAG }}
swift-workspace-cache: ${{ env.SWIFT_WORKSPACE_CACHE }}
distribution: ${{ github.job }}
builder-tag: ${{ env.SWIFT_BUILDER_TAG }}
ubuntu-jammy:
name: Build for Ubuntu Jammy
runs-on: ubuntu-latest
needs: [fetch-sources]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-for-distribution
name: "Build & Publish Swift: ${{ env.SWIFT_TAG }}"
with:
swift-tag: ${{ env.SWIFT_TAG }}
swift-workspace-cache: ${{ env.SWIFT_WORKSPACE_CACHE }}
distribution: ${{ github.job }}
builder-tag: ${{ env.SWIFT_BUILDER_TAG }}
ubuntu-noble:
name: Build for Ubuntu Noble
runs-on: ubuntu-latest
needs: [fetch-sources]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-for-distribution
name: "Build & Publish Swift: ${{ env.SWIFT_TAG }}"
with:
swift-tag: ${{ env.SWIFT_TAG }}
swift-workspace-cache: ${{ env.SWIFT_WORKSPACE_CACHE }}
distribution: ${{ github.job }}
builder-tag: ${{ env.SWIFT_BUILDER_TAG }}