-
-
Notifications
You must be signed in to change notification settings - Fork 349
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
ci: use arm runners for arm64 workflows #1343
Conversation
nice work on the prior workflow rejig @JP-Ellis |
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
hmm we can't pass status checks as this has come from a fork, and we require secrets to publish to the pactflow hosted broker |
we probably want to either skip these tests on forks, or hard code the secret if jobs come from outside forks. |
I've noted that blocker in #1344 |
superseded by #1345 which comes from origin, rather than my fork |
I think some settings in our repo can adjust this, but let me check. |
Actually, instead of hard-coding them or putting them as secrets, you can probably just make them available as non-secret variables. |
@mefellows and @YOU54F Any objections to exposing |
No real objections from me. The risk is somebody uses the info to pollute the test account (arguably it's already quite polluted :P). If we see problems of abuse we can address it then. |
no objections from me, that particular token is already exposed elsewhere. I would be inclined to pop a comment in the code to state that this isn't best practise and is instead being used to support contributors forked workflows for our OS project. That way if we are leading by example, users know to store in a secret instead in their own projects |
Great! I've added them as org variables. I'll go through the repos today and make sure everyone is using that over the secret, and then delete the secret. |
fab, especially adding as an org variable as we can switch if we need to and maintainers and contributors test workflows if not hardcoded will be able to continue |
And here I was, thinking that "because variables aren't secret, they'll be shared to PRs from forks" 🤦 That is not how GitHub has this unfortunately. See for example this discussion. Looks like the only option is using the |
Ok, after doing a lot of reading, I'm now of the opinion that what we want is not easily feasible without either:
I think the best course of action is:
This would be done by having some jobs by gated as follows: jobs:
no-secrets-required:
# as usual
secrets-required:
if: github.event_name == 'push'
# rest as usual |
arm64 runners now available, so lets use them to speed up our CI runs
https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/
the test-arm64 workflow only tested alpine, so the glibc case was not covered.
the test-alpine workflow, using containers as a first class concept in gh actions, unfortunately do not support arm64 yet
so this PR
npm ci && npm test
workflow on the native ubuntu-24.04-latest (arm64) runner