-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make use of more common GitHub Actions migration workflows and repository style changes. Modifications: * Unit tests workflows run redis in a separate services container to speed up unit tests * Introduce `main.yml` which runs workflows on each commit to main and periodically to catch any regressions in merges or from upstream. * Remove the docker files which are no longer used and contained outdated pipelines. * Add Cxx interoperability checks Result: More in common with other GitHub Actions adoptions.
- Loading branch information
Showing
13 changed files
with
133 additions
and
260 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: Main | ||
|
||
on: | ||
push: | ||
branches: [main] | ||
schedule: | ||
- cron: "0 8,20 * * *" | ||
|
||
jobs: | ||
unit-tests: | ||
name: Unit tests | ||
uses: ./.github/workflows/unit_tests.yml | ||
with: | ||
linux_5_9_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete" | ||
linux_5_10_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete" | ||
linux_6_0_arguments_override: "--explicit-target-dependency-import-check error" | ||
linux_nightly_6_0_arguments_override: "--explicit-target-dependency-import-check error" | ||
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error" |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
name: Unit tests | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
linux_5_9_enabled: | ||
type: boolean | ||
description: "Boolean to enable the Linux 5.9 Swift version matrix job. Defaults to true." | ||
default: true | ||
linux_5_9_arguments_override: | ||
type: string | ||
description: "The arguments passed to swift test in the Linux 5.9 Swift version matrix job." | ||
default: "" | ||
linux_5_10_enabled: | ||
type: boolean | ||
description: "Boolean to enable the Linux 5.10 Swift version matrix job. Defaults to true." | ||
default: true | ||
linux_5_10_arguments_override: | ||
type: string | ||
description: "The arguments passed to swift test in the Linux 5.10 Swift version matrix job." | ||
default: "" | ||
linux_6_0_enabled: | ||
type: boolean | ||
description: "Boolean to enable the Linux 6.0 Swift version matrix job. Defaults to true." | ||
default: true | ||
linux_6_0_arguments_override: | ||
type: string | ||
description: "The arguments passed to swift test in the Linux 6.0 Swift version matrix job." | ||
default: "" | ||
linux_nightly_6_0_enabled: | ||
type: boolean | ||
description: "Boolean to enable the Linux nightly 6.0 Swift version matrix job. Defaults to true." | ||
default: true | ||
linux_nightly_6_0_arguments_override: | ||
type: string | ||
description: "The arguments passed to swift test in the Linux nightly 6.0 Swift version matrix job." | ||
default: "" | ||
linux_nightly_main_enabled: | ||
type: boolean | ||
description: "Boolean to enable the Linux nightly main Swift version matrix job. Defaults to true." | ||
default: true | ||
linux_nightly_main_arguments_override: | ||
type: string | ||
description: "The arguments passed to swift test in the Linux nightly main Swift version matrix job." | ||
default: "" | ||
|
||
jobs: | ||
unit-tests: | ||
name: Unit tests | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
# We are specifying only the major and minor of the docker images to automatically pick up the latest patch release | ||
swift: | ||
- image: "swift:5.9-jammy" | ||
swift_version: "5.9" | ||
enabled: ${{ inputs.linux_5_9_enabled }} | ||
- image: "swift:5.10-jammy" | ||
swift_version: "5.10" | ||
enabled: ${{ inputs.linux_5_10_enabled }} | ||
- image: "swift:6.0-jammy" | ||
swift_version: "6.0" | ||
enabled: ${{ inputs.linux_6_0_enabled }} | ||
- image: "swiftlang/swift:nightly-6.0-jammy" | ||
swift_version: "nightly-6.0" | ||
enabled: ${{ inputs.linux_nightly_6_0_enabled }} | ||
- image: "swiftlang/swift:nightly-main-jammy" | ||
swift_version: "nightly-main" | ||
enabled: ${{ inputs.linux_nightly_main_enabled }} | ||
steps: | ||
- name: Checkout repository | ||
if: ${{ matrix.swift.enabled }} | ||
uses: actions/checkout@v4 | ||
with: | ||
persist-credentials: false | ||
submodules: true | ||
- name: Mark the workspace as safe | ||
if: ${{ matrix.swift.enabled }} | ||
# https://github.com/actions/checkout/issues/766 | ||
run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | ||
- name: Run matrix job | ||
if: ${{ matrix.swift.enabled }} | ||
env: | ||
SWIFT_VERSION: ${{ matrix.swift.swift_version }} | ||
COMMAND: "swift test" | ||
COMMAND_OVERRIDE_5_9: "swift test ${{ inputs.linux_5_9_arguments_override }}" | ||
COMMAND_OVERRIDE_5_10: "swift test ${{ inputs.linux_5_10_arguments_override }}" | ||
COMMAND_OVERRIDE_6_0: "swift test ${{ inputs.linux_6_0_arguments_override }}" | ||
COMMAND_OVERRIDE_NIGHTLY_6_0: "swift test ${{ inputs.linux_nightly_6_0_arguments_override }}" | ||
COMMAND_OVERRIDE_NIGHTLY_MAIN: "swift test ${{ inputs.linux_nightly_main_arguments_override }}" | ||
REDIS_URL: redis | ||
run: | | ||
apt-get -qq update && apt-get -qq -y install curl | ||
curl -s https://raw.githubusercontent.com/apple/swift-nio/main/scripts/check-matrix-job.sh | bash | ||
container: | ||
image: ${{ matrix.swift.image }} | ||
services: | ||
redis: | ||
image: redis:7 |
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
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.