Skip to content

Add post-merge CI and build release workflows #20

Add post-merge CI and build release workflows

Add post-merge CI and build release workflows #20

Workflow file for this run

name: Pull Request
on:
pull_request:
types: [opened, reopened, synchronize]
push:
branches: [main]
jobs:
soundness:
name: Soundness
uses: swiftlang/github-workflows/.github/workflows/soundness.yml@main
with:
license_header_check_enabled: false
license_header_check_project_name: "Swift.org"
api_breakage_check_enabled: false
docs_check_enabled: false
format_check_enabled: false
shell_check_enabled: false
unacceptable_language_check_enabled: true
tests:
name: Test
uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@main
with:
# linux_os_versions: "[\"jammy\", \"noble\", \"focal\", \"amazonlinux2\", \"rhel-ubi9\", \"bookworm\", \"fedora39\"]"
# Not working: noble (compile error in TSC FileSystem), bookworm (missing memory.h), fedora39 (missing memory.h)
linux_os_versions: "[\"jammy\", \"focal\", \"rhel-ubi9\"]"
# We only care about the current stable release, because that's where we make our swiftly releases
linux_exclude_swift_versions: "[{\"swift_version\": \"nightly-main\"},{\"swift_version\": \"nightly-6.0\"},{\"swift_version\": \"5.8\"},{\"swift_version\": \"5.9\"},{\"swift_version\": \"5.10\"}]"
linux_pre_build_command: ((apt-get update && apt-get -y install curl make) || ((curl --help || yum -y install curl) && yum -y install make)) && ./scripts/install-libarchive.sh
enable_windows_checks: false
releasebuildcheck:
name: Release Build Check
runs-on: ubuntu-latest
container:
image: "swift:6.0-rhel-ubi9"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build Artifact
run: swift run build-swiftly-release --skip "999.0.0"
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
path: .build/release/swiftly-*.tar.gz
if-no-files-found: error
retention-days: 1
formatcheck:
name: Format Check
uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@main
with:
# We only need to run this with one swift release and on one of the linux distributions
linux_os_versions: "[\"jammy\"]"
linux_exclude_swift_versions: "[{\"swift_version\": \"nightly-main\"},{\"swift_version\": \"nightly-6.0\"},{\"swift_version\": \"5.8\"},{\"swift_version\": \"5.9\"},{\"swift_version\": \"5.10\"}]"
linux_pre_build_command: echo ""
linux_build_command: swift run swiftformat --lint --dryrun .
enable_windows_checks: false