Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CI providers and setup #228

Merged
merged 1 commit into from
Aug 23, 2024
Merged

Conversation

ararslan
Copy link
Contributor

This replaces Drone and Travis with GitHub Actions and an additional step in the Cirrus matrix. Travis is no longer posting build statuses to this repository and Drone lists every job as "killed" with no explanation. GHA and Cirrus are reliable alternatives.

This commit encompasses the following changes:

  • Linux x86-64 with gcc now builds on GHA (was both Travis and Drone)
  • Linux ARM64 with gcc now builds on Cirrus (was Drone)
  • macOS with clang now builds on GHA (was Travis) but it's important to note that macos-latest uses Apple's ARM-based processors rather than the legacy x86-64 Intel processors. That is, the macOS build on CI is arm64-apple-darwin rather than x86_64-apple-darwin.
  • Linux x86-64 with clang now builds on GHA (was Travis)
  • FreeBSD 12.3 is removed from CI as that version is EOL
  • FreeBSD 13.1 is replaced with 13.3
  • FreeBSD 13 and 14 now use release images rather than development snapshots. Notably, development snapshot images seem to be culled for versions no longer in development, which is why the 12.3 and 13.1 builds were unable to locate the specified images.
  • tools/ci-build.sh now attempts to determine the core count automatically. There is too much variability across CI providers for --cores=4 to be universally appropriate; as of this writing, GHA uses 4 cores for Linux and 3 for macOS, and Cirrus uses 2.
  • Travis and Drone badges in the README are replaced by GHA
  • Linux PowerPC with clang is no longer run on CI, so it's removed from the list in the README
  • GitHub's Dependabot is added in order to automatically keep the actions used up to date

This replaces Drone and Travis with GitHub Actions and an additional
step in the Cirrus matrix. Travis is no longer posting build statuses to
this repository and Drone lists every job as "killed" with no
explanation. GHA and Cirrus are reliable alternatives.

This commit encompasses the following changes:
- Linux x86-64 with gcc now builds on GHA (was both Travis and Drone)
- Linux ARM64 with gcc now builds on Cirrus (was Drone)
- macOS with clang now builds on GHA (was Travis) but it's important to
  note that `macos-latest` uses Apple's ARM-based processors rather than
  the legacy x86-64 Intel processors. That is, the macOS build on CI is
  `arm64-apple-darwin` rather than `x86_64-apple-darwin`.
- Linux x86-64 with clang now builds on GHA (was Travis)
- FreeBSD 12.3 is removed from CI as that version is EOL
- FreeBSD 13.1 is replaced with 13.3
- FreeBSD 13 and 14 now use release images rather than development
  snapshots. Notably, development snapshot images seem to be culled for
  versions no longer in development, which is why the 12.3 and 13.1
  builds were unable to locate the specified images.
- `tools/ci-build.sh` now attempts to determine the core count
  automatically. There is too much variability across CI providers for
  `--cores=4` to be universally appropriate; as of this writing, GHA
  uses 4 cores for Linux and 3 for macOS, and Cirrus uses 2.
- Travis and Drone badges in the README are replaced by GHA
- Linux PowerPC with clang is no longer run on CI, so it's removed from
  the list in the README
- GitHub's Dependabot is added in order to automatically keep the
  actions used up to date
@ararslan
Copy link
Contributor Author

The Linux ARM64 build on Cirrus appears to successfully complete and pass all unit tests, but the overall job fails. Cirrus reports that the container was OOM killed, but the memory usage graph shows that memory use is very low for most of the lifetime of the job, even lower than FreeBSD, which completed successfully.

Note that the GitHub Actions jobs will require approval before they'll run here.

@sbahra sbahra merged commit fc0db22 into concurrencykit:master Aug 23, 2024
3 of 4 checks passed
@ararslan ararslan deleted the aa/ci branch August 27, 2024 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants