multi-scrobbler/.github/act
Matt Foxx f2516206c0
ci: Refactor OCI image workflows to use multi-runner for cross-arch builds (#246)
Replaces `build-push-action` buildx QEMU building for multiple `arch` with a multi-runner matrix that builds each image on native runners and combines digests before pushing to registries.

* Use arm public preview runner
* Refactor publish image workflow to use multi-runner
* Refactor PR workflow to use multi-runner
2025-01-17 09:35:11 -05:00
..
.actrc Add multi-runner WIP tests to ACT 2024-09-27 16:30:02 -04:00
.env.example Add multi-runner WIP tests to ACT 2024-09-27 16:30:02 -04:00
.secrets.example ci: Refactor ACT for more thorough usage 2024-09-27 11:41:38 -04:00
actBranchEvent.json ci: Add ACT run for just backend test 2024-10-09 15:51:58 -04:00
actPREvent.json ci: Fix sanity test checkout ref and shorten APP_VERSION sha usage 2024-10-14 13:07:12 -04:00
actTagEvent.json ci: Refactor ACT for more thorough usage 2024-09-27 11:41:38 -04:00
actTagPreEvent.json Add multi-runner WIP tests to ACT 2024-09-27 16:30:02 -04:00
actTest.yml ci: Refactor ACT for more thorough usage 2024-09-27 11:41:38 -04:00
docker-bake.hcl Add multi-runner WIP tests to ACT 2024-09-27 16:30:02 -04:00
multiRunnerBakeTest.yml Add multi-runner WIP tests to ACT 2024-09-27 16:30:02 -04:00
multiRunnerTest.yml ci: Refactor OCI image workflows to use multi-runner for cross-arch builds (#246) 2025-01-17 09:35:11 -05:00
README.md ci: Make test workflow reusable and add run sanity check 2024-10-10 12:05:16 -04:00
testSuite.yml ci: Make test workflow reusable and add run sanity check 2024-10-10 12:05:16 -04:00

Testing GH Actions with ACT

Need to have credentials in a .secrets file, copy and rename .secrets.example to .secrets, then fill out blank fields. Required for docker/metadata-action to read...something. Fails with Parameter token or opts.auth is required if they are not supplied.

An ENV file can also be made by copy and renaming .env.example. Set NO_DOCKER_BUILD=true if you only want to test APP_VERSION and docker tags output.

If running a full docker build for multi-runner workflows you will need to create an artifact server for ACT to work:

docker pull ghcr.io/jefuller/artifact-server:latest
docker run -d --name artifact-server -p 8082:8080 --add-host host.docker.internal:host-gateway -e AUTH_KEY=foo ghcr.io/jefuller/artifact-server:latest

Run the following from this directory to make use of .actrc and proper working directory.

Test Branch Test Suite

act -W '.github/act/testSuite.yml' -e '.github/act/actBranchEvent.json'

Test Branch Push

act -W '.github/act/actTest.yml' -e '.github/act/actBranchEvent.json'

Test Tag (Release) Push

act -W '.github/act/actTest.yml' -e '.github/act/actTagEvent.json'

Test Tag (Pre-Release) Push

act -W '.github/act/actTest.yml' -e '.github/act/actTagPreEvent.json'

Test Multi-Runner Push (WIP)

act -W '.github/act/multiRunnerTest.yml' -e '.github/act/actBranchEvent.json'

Test Multi-Runner Bake Push (WIP)

act -W '.github/act/multiRunnerBakeTest.yml' -e '.github/act/actBranchEvent.json'