Add post-merge CI and build release workflows #20
Workflow file for this run
This file contains 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: 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 |