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

Move cross-architecture testing to GitHub Actions. #551

Merged
merged 3 commits into from Jun 18, 2022

Conversation

bwoodsend
Copy link
Collaborator

Fixes our aspirations of getting away from TravisCI.

Add GitHub Actions testing of quirky architectures using docker+qemu emulation. I'm temporarily leaving the equivalent .travis.yml un-deleted so we can watch the two race each other.

@codecov-commenter
Copy link

codecov-commenter commented Jun 15, 2022

Codecov Report

Merging #551 (3efb5cc) into main (b47c3a7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #551   +/-   ##
=======================================
  Coverage   91.83%   91.83%           
=======================================
  Files           6        6           
  Lines        1824     1824           
=======================================
  Hits         1675     1675           
  Misses        149      149           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b47c3a7...3efb5cc. Read the comment docs.

@bwoodsend
Copy link
Collaborator Author

  • Travis: 3:02
  • GA: 4:48

Nope. Travis comfortably wins that race.

@bwoodsend bwoodsend closed this Jun 15, 2022
@hugovk
Copy link
Member

hugovk commented Jun 16, 2022

That's not so bad, not like 20 minutes or something, and especially as the existing GHA Windows job takes 7 minutes.

@hugovk
Copy link
Member

hugovk commented Jun 16, 2022

(Actually that 7 minutes is a bit of an outlier, Windows normally takes around 2 minutes.)

@bwoodsend bwoodsend reopened this Jun 17, 2022
@bwoodsend bwoodsend force-pushed the bye-bye-travis branch 4 times, most recently from caac120 to b214ba3 Compare Jun 17, 2022
@bwoodsend
Copy link
Collaborator Author

Hmm, ugly hack required to circumvent setuptools-scm (no idea why doing it properly didn't work - it's runs fine locally) but switching to Alpine did manage it in 2 minutes for most architectures and 3:20 for powerpc. What do you think? We loose MIPS but we didn't have MIPS on TravisCI either.

@hugovk
Copy link
Member

hugovk commented Jun 18, 2022

MIPS/mips64le: fine to skip that, as you say we didn't have it on Travis, and we have ppc64le to cover little-endian.

Ugly hack: without it, it failed with:

Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.


Can we make the `.git` folder available inside the Docker container too? 

.github/workflows/test.yml Outdated Show resolved Hide resolved
.github/workflows/test.yml Outdated Show resolved Hide resolved
.github/workflows/test.yml Outdated Show resolved Hide resolved
@bwoodsend
Copy link
Collaborator Author

bwoodsend commented Jun 18, 2022

Ahh, now I see what the fuss is all about.

 fatal: unsafe repository ('/io' is owned by someone else)
To add an exception for this directory, call:
	git config --global --add safe.directory /io
fatal: unsafe repository ('/io' is owned by someone else)
To add an exception for this directory, call:

The .git folder was there all along. It just needs that new mark repo as safe thing set.

@bwoodsend
Copy link
Collaborator Author

Ugly hack is gone 🚀

@bwoodsend bwoodsend marked this pull request as ready for review Jun 18, 2022
Copy link
Member

@hugovk hugovk left a comment

Choose a reason for hiding this comment

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

Looks good!

image

Would you like to do the git rm .travis.yml honours, and remove the mentions from README.md and RELEASING.md?

@bwoodsend
Copy link
Collaborator Author

Ohh yes. I do like deleting things!

@hugovk hugovk added testing Unit tests, linting, CI, etc. changelog: skip Exclude PR from release draft labels Jun 18, 2022
@hugovk
Copy link
Member

hugovk commented Jun 18, 2022

@hugovk hugovk merged commit abe26fc into ultrajson:main Jun 18, 2022
18 checks passed
@bwoodsend bwoodsend deleted the bye-bye-travis branch Jun 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog: skip Exclude PR from release draft testing Unit tests, linting, CI, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants