Page MenuHomePhabricator

[secp256k1] ci, gha: Move more non-x86_64 tasks from Cirrus CI to GitHub Actions
ClosedPublic

Authored by PiRK on Feb 3 2026, 17:00.

Details

Summary

ci: Move "i686: Linux (Debian stable)" from Cirrus to GiHub Actions

ci: Move "s390x (big-endian): Linux..." from Cirrus to GitHub Actions

ci: Move "ARM32: Linux..." from Cirrus to GitHub Actions

ci: Move "ARM64: Linux..." from Cirrus to GitHub Actions

ci: Add "ppc64le: Linux..." to GitHub Actions

This is a backport of secp256k1#950 and secp256k1#1406

and some changes from https://github.com/bitcoin-core/secp256k1/pull/1719/changes/dff1bc107d593b12e824cbc04b0d220f2ffeb967 are needed to use *CI_SCRIPT_IN_DOCKER (which uses matrix.configuration.env_vars)

Depends on D19519

Test Plan

push to github, wait for github actions to complete

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

src/secp256k1/.cirrus.yml
83 ↗(On Diff #58181)

the blank AUTOTOOLS_TARGET (aka BUILD) was removed in https://github.com/bitcoin-core/secp256k1/pull/846/changes/fcfcb97e74b55a107290d44c81c049d6168e954f but not in our backport D12960 for some reason.
I'm trying to remove it so we run the tests (it defaults to make check, vs just make if blank)

85 ↗(On Diff #58181)

removed in https://github.com/bitcoin-core/secp256k1/pull/1405 (resolved since libc 2.33. Debian Bookworm has libc 2.36)

170 ↗(On Diff #58181)

Here I don't remember why I didn't run the cmake variant when I added ARM32. I probably assumed that it just wouldn't work because we don't support some platforms for the monorepo. Let's try to run it on ithub actions and see if it works.

PiRK edited the summary of this revision. (Show Details)

we need matrix.configuration.env_vars for all tasks using *CI_SCRIPT_IN_DOCKER

PiRK published this revision for review.Feb 3 2026, 22:08
bytesofman added a subscriber: bytesofman.

re: testplan

push to github, wait for github actions to complete

is this effectively duplicated with our CI, what "goes green" in this diff? Or does this happen at the github mirror?

afaik we don't use Cirrus CI or github actions, so is this really just a maintenance backport to simplify catching up with more secp256k1 things?

otherwise, seems to match the backports mentioned

This revision is now accepted and ready to land.Feb 3 2026, 23:38

re: testplan

push to github, wait for github actions to complete

is this effectively duplicated with our CI, what "goes green" in this diff? Or does this happen at the github mirror?

afaik we don't use Cirrus CI or github actions, so is this really just a maintenance backport to simplify catching up with more secp256k1 things?

otherwise, seems to match the backports mentioned

It is running on the github mirror. The main point, besides testing more architectures that we don't necessarily support on our monorepo, is to ensure the standalone secp256k1 lib is not broken. D19504 is an example when we didn't break the monorepo but we broke the standalone secp256k1 build (because different assumptions, C++ was enabled in the monorepo but not in secp256k1).

Plus backporting everything roughly in the same order makes it easier than selecting pieces and omitting others (which causes conflicts when cherry-picking). Here we do create some conflicts by backporting something earlier than we should, but it is because Cirrus is broken and we lost CI coverage. I'm attempting to do it in a way that will make us eventually converge back to the same codebase as the source.