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

Initial attempt at GitHub Actions based CI. #199

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

nuclearsandwich
Copy link
Collaborator

@nuclearsandwich nuclearsandwich commented Jul 4, 2024

Travis has long since ceased being a viable CI platform for open source projects.
It's a pain to bake so heavily into yet another platform but at least it is right here.
I've had some success in other projects using https://earthly.dev to allow the same config to run locally and in CI so wrapping that in GitHub actions may lower the barrier to local testing for future contributors. For now I just want some CI feedback.

The use of ruff instead of flake8 is entirely a curiosity since I haven't used before and I'm not at all committed to it.

@nuclearsandwich nuclearsandwich self-assigned this Jul 4, 2024
@nuclearsandwich
Copy link
Collaborator Author

test.sh is passing as of adb365b. Progress!

@nuclearsandwich
Copy link
Collaborator Author

We're green! (with lowered standards). I am going to take a shot at updating the Vagrantfiles alongside the addition of earthly but I'm tempted to go ahead with this even if it only contributes to my own maintenance of this package.

@nuclearsandwich nuclearsandwich added this to the 0.10.1 milestone Jul 9, 2024
@nuclearsandwich nuclearsandwich force-pushed the actions-ci branch 2 times, most recently from 9d38ccc to febd590 Compare July 9, 2024 21:51
<https://earthly.dev> is an open source (MPL-2.0) project for defining
and executing builds using containers.

It meets a lot of the same needs as the Vagrant boxes that are in this
project using containers rather than VMs.

The advantage of pairing this with GitHub Actions is that it allows
maintainers and contributors to reproduce test results locally which is
very difficult when using GitHub Actions natively.

stdeb interacts with a lot of system-level utilities so having
convenient testing across multiple supported distributions is highly
valuable.
Since we have the earthly configuration for local testing, we may as
well use it for GitHub Actions as well.

Use the matrix support to pass the OS build argument to Earthly.

Keep platforms that aren't working yet disabled.
* Use python3 for running packaging tests.

* Update version of psycopg2 used for tests.
  I got build failures on bullseye with the earlier version but success
  with this last one (the psycopg project apparently returned to the
  psycopg module for v3).
Right now this only sets a preferred line-length limit.
It's possible this will be folded into a pyproject.toml as part of other
updates to the project.
Travis CI has long since stopped providing value to open source projects
and I believe that the Earthly builds cover the same local testing niche
as the Vagrant files, which I was not able to successful update.

If another maintainer or contributor wants to restore the Vagrant
support I will help as I can, but I don't have a working vagrant
provider locally.
@nuclearsandwich nuclearsandwich marked this pull request as ready for review July 10, 2024 00:37
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.

None yet

1 participant