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

Add initial GitHub Actions support for kyua #254

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ngie-eign
Copy link
Contributor

This proposed GitHub Actions workflow file runs tests on MacOS and Ubuntu Linux, similar to what is being proposed in freebsd/atf#93 .

The delta between this change and the one being made in ATF mostly relates to the additional package dependencies, e.g., with and without ATF.

Kyua is built from scratch because of issues with dependent packages and runtime linker collisions on both MacOS and Ubuntu. The binary package versions are built against a different version of Lutok, ergo they can have runtime linker collisions.

@ngie-eign ngie-eign force-pushed the add-gh-actions branch 4 times, most recently from dd72073 to 3f1cbfe Compare December 29, 2024 19:59
This proposed GitHub Actions workflow file runs tests on MacOS and
Ubuntu Linux, similar to what is being proposed in
freebsd/atf#93 .

The delta between this change and the one being made in ATF mostly
relates to the additional package dependencies, e.g., with and without
ATF.

Kyua is built from scratch because of issues with dependent packages and
runtime linker collisions on both MacOS and Ubuntu. The binary package
versions are built against a different version of Lutok, ergo they can
have runtime linker collisions.

Signed-off-by: Enji Cooper <[email protected]>
@ngie-eign ngie-eign requested review from lwhsu, emaste and ihoro December 29, 2024 21:05
@ngie-eign ngie-eign marked this pull request as ready for review December 29, 2024 21:05
@asomers
Copy link
Member

asomers commented Dec 30, 2024

Why neglect the primary target platform? We could easily do CI on FreeBSD using Cirrus CI instead of Github Actions.

@ngie-eign
Copy link
Contributor Author

ngie-eign commented Dec 30, 2024

Why neglect the primary target platform? We could easily do CI on FreeBSD using Cirrus CI instead of Github Actions.

I have an issue filed to reenable Cirrus CI. The goal of adding GH actions is to cover Linux and MacOS because the tooling for LLVM isn’t there on FreeBSD, and a lot of the GH issues being filed are coming from Linux and MacOS users.
But yes, I need to enable Cirrus CI on my local fork and resolve issues with the current config, given that the config has grown stale over time.

- pkgconf
- [email protected]
- sqlite
enable-atf-pkgs:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the below line is commented out, add brackets to make this valid YAML

Suggested change
enable-atf-pkgs:
enable-atf-pkgs: []

@asomers
Copy link
Member

asomers commented Dec 30, 2024

I have an issue filed to reenable Cirrus CI. The goal of adding GH actions is to cover Linux and MacOS because the tooling for LLVM isn’t there on FreeBSD, and a lot of the GH issues being filed are coming from Linux and MacOS users. But yes, I need to enable Cirrus CI on my local fork and resolve issues with the current config, given that the config has grown stale over time.

Oh, I didn't notice that issue. But yes, this PR looks fine for Linux and OSX

#
env:
ATF_REPO: freebsd/atf
ATF_REF: atf-0.22
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would propose to build and test it against development branches of atf and lutok. It could add chances that it's tested against the recent changes in the dependencies sooner, not to get surprised much later during release engineer etc. If required, a release could be a separate branch tagged where this config is changed to strict versions. Another option is to make GHA matrix include the latest versions (master/main) plus the latest released version -- that's for cases when Kyua could link & use non-latest version of dependencies.

Perhaps, we should finish s/master/main/ for all three projects first (like this: freebsd/atf#94), not to come back here due to failed jobs or so.

# LUTOK_REPO: freebsd/lutok
# LUTOK_REF: master
LUTOK_REPO: ngie-eign/lutok
LUTOK_REF: build-cleanup
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess it will eventually switch back to the freebsd/lutok repo. It may stay like this unnoticed for long time w/o expected outcome of CI builds.

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.

3 participants