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

CI: Begin migration from Azure DevOps to GitHub actions #1128

Merged
merged 5 commits into from
Sep 26, 2024

Conversation

moreati
Copy link
Member

@moreati moreati commented Sep 25, 2024

This replicate the existing Azure DevOps workflow, and adds a couple of new jobs (Python 2.7 on macOS, Python + vanilla Ansible on Linux).

The GitHub Actions use container images hosted on GitHub Container Registry (GHCR, ghcr.io/mitogen-hq). These images have been copied straight from the existing Amazon Elastic Cloud Registry (AWS ECR, public.ecr.aws/n5z0e8q9).

A short period of parallel running is planned. Then a second PR will remove the Azure DevOps workflow.

@moreati moreati force-pushed the github-actions branch 9 times, most recently from b21cf3f to d47b548 Compare September 25, 2024 23:35
@moreati
Copy link
Member Author

moreati commented Sep 26, 2024

I've pushed the MItogen <distro>-test images currently on Amazon Elastic Cloud Registry (AWS ECR, public.ecr.aws/n5z0e8q9) to GitHub Cloud Registry (GHCR, ghcr.io/mitogen-hq). They can be seen at https://github.com/orgs/mitogen-hq/packages.

#!/usr/bin/env bash
set -o errexit -o nounset -o pipefail

podman push public.ecr.aws/n5z0e8q9/centos6-test    ghcr.io/mitogen-hq/centos6-test
podman push public.ecr.aws/n5z0e8q9/centos7-test    ghcr.io/mitogen-hq/centos7-test
podman push public.ecr.aws/n5z0e8q9/centos8-test    ghcr.io/mitogen-hq/centos8-test
podman push public.ecr.aws/n5z0e8q9/debian10-test   ghcr.io/mitogen-hq/debian10-test
podman push public.ecr.aws/n5z0e8q9/debian11-test   ghcr.io/mitogen-hq/debian11-test
podman push public.ecr.aws/n5z0e8q9/debian9-test    ghcr.io/mitogen-hq/debian9-test
podman push public.ecr.aws/n5z0e8q9/ubuntu1604-test ghcr.io/mitogen-hq/ubuntu1604-test
podman push public.ecr.aws/n5z0e8q9/ubuntu1804-test ghcr.io/mitogen-hq/ubuntu1804-test
podman push public.ecr.aws/n5z0e8q9/ubuntu2004-test ghcr.io/mitogen-hq/ubuntu2004-test
➜  mitogen git:(github-actions) ✗ tests/image_prep/copy-images.sh         
Getting image source signatures
Copying blob sha256:e983a9533852a73623ee7cb6de31382804c19bb9d3965427bfa75ffdf886a459
Copying blob sha256:8088cb617267a10ef6b4d0db6b0ebcedcd9b3af5183d64351b92bea6376ad62c
Copying blob sha256:3d7815a9f661d344feaf6efb6fecf3a518ba1b1007f8056c7b884e46b7097306
Copying config sha256:3d66db236cf7b857f0782e616f19a1030bb5aa19485a019345abf2860fc19dfc
Writing manifest to image destination
Getting image source signatures
Copying blob sha256:c0f8b8e21f6f8cb1507556eca7de310311b8e3f9158d8b7d9a4172849f250c56
Copying blob sha256:174f5685490326fc0a1c0f5570b8663732189b327007e47ff13d2ca59673db02
Copying config sha256:426d489d41ce34ad7459e6d7251c55d69fce3c6a9a6fb87747a534814800ec70
Writing manifest to image destination
Getting image source signatures
Copying blob sha256:40930507e089faf9d3b2217bd30eef685c46474ae652513de4a8a12002f72dc4
Copying blob sha256:2653d992f4ef2bfd27f94db643815aa567240c37732cae1405ad1c1309ee9859
Copying config sha256:8057a3400acaecf395e66096896d0e276b502f4b2734a292af51f959c12d8e9d
Writing manifest to image destination
Getting image source signatures
Copying blob sha256:f99024091385d870b1e483addc654dd92ba31ef65ca7358e7d3da571c5d431e6
Copying blob sha256:7f03bfe4d6dc12155877f0d2e8b3429090bad1af7b005f75b7b3a874f386fd5a
Copying config sha256:6c6dc6a4cead3350bcc5fd260efd94b7e09072ff52463d29ffecad9f4119d1ad
Writing manifest to image destination
Getting image source signatures
Copying blob sha256:2c9dada70caf63ed8c402331a4a5a495030390152002a95ab2dd8b820bec3312
Copying blob sha256:56d5220b8a1f074e65bc589ef90565ca08572ce894179d45d7252cf05fcf1ff3
Copying config sha256:ffb1bfbeadf1329de2c232e57ef9ba80269d9502afa001ad2fb097f71f26cdfc
Writing manifest to image destination
Getting image source signatures
Copying blob sha256:66a48d521fe140ca7bd4997b7efa88d84ba57579d5702d7a4d893d0f31108646
Copying blob sha256:e891be0c59b22a3ba63e39c38b5d40a9f400973776b20561775c6bbfd29340f0
Copying config sha256:d482a7128d47075802fb6287e8ee2c5ec3c2809392d025a7ddc86191e7f7f09a
Writing manifest to image destination
Getting image source signatures
Copying blob sha256:4b190baf2e5a91267304d757bcb4b2d49783ac242ab4117a4c899255e9cd45f3
Copying blob sha256:935c56d8b3f96d6587f3640e491767688b790c458a01fef327188abcbbafdc9a
Copying blob sha256:697949baa6589708187ff25708ee6c7cf2c6657399552a019598b1da7f617acf
Copying blob sha256:e6feec0db89a854a83e704823cdd269ad82625cb57ecc06b4ede6095948f66db
Copying blob sha256:5276d2b930fc59425e6cf44315e0ca0de5948865d615de79e34d5ff9bf3a9b96
Copying config sha256:12b84515a7b969f5db981bbd792f802279f1287f4ea5dcb27d9881bc072841ee
Writing manifest to image destination
Getting image source signatures
Copying blob sha256:7ad978b9d24ab4430a378426c7e34414a77ecd64434ee4b2e6bfaea1d2709189
Copying blob sha256:c95d2191d7773c6e29188f92922bc9547e1f0b6130e85dfc2f5e4eae13137c7c
Copying blob sha256:9f10818f1f96a349981e134a0e8d566fa5ab144c9f9f4e766be8cdab76d4074d
Copying blob sha256:27502392e386147bf71f51b4676dbe938b9b86592e41047c17fc94a116aa2841
Copying config sha256:8214d73b7cd0b061275fe6493d4976e8a6b6c0db62c377f484276b5575e3eeff
Writing manifest to image destination
Getting image source signatures
Copying blob sha256:b9c146b49315bd6ca6920e4e1ef0572461f47cb7e3aa14cc2214b5203744cb17
Copying blob sha256:9f32931c9d28f10104a8eb1330954ba90e76d92b02c5256521ba864feec14009
Copying blob sha256:dbf2c0f42a39b60301f6d3936f7f8adb59bb97d31ec11cc4a049ce81155fef89
Copying blob sha256:02473afd360bd5391fa51b6e7849ce88732ae29f50f3630c3551f528eba66d1e
Copying config sha256:7d54864918ec2180ea198ad79ea51a412aec4a164bc2e9de9add651190ae7afc
Writing manifest to image destination

@moreati
Copy link
Member Author

moreati commented Sep 26, 2024

Made the container images public

@moreati
Copy link
Member Author

moreati commented Sep 26, 2024

GitHub Actions jobs still suffer intermediate failures (#1058), but at a much lower rate: 1 case in https://github.com/mitogen-hq/mitogen/actions/runs/11043748197, vs 5+ in https://dev.azure.com/mitogen-hq/mitogen/_build/results?buildId=1024&view=results.

This aims to
- Reduce duplication
- Seperate CI specific setup from test setup
- Prepare for migration from Azure DevOps to GitHub Actions
Preperation for migrating from Azure DevOps with Amazon Elastic Container
Registry (AWS ECR), to GitHub Actions with GitHub Container Registry (GHCR).

DebOps tests are not currently being run, the updates to .ci/debops*.py are
best effort only.
CI containers lack the necessary `setfacl` command. This has not previously
been noticed because no vanilla Ansible jobs were being run on Linux, only on
macOS.

refs mitogen-hq#1118
This replaces the use of `os.path.realpath()` which gave incorrect results on
macOS - depending on the exact Python build, Python version, macOS version,
installation method, and phase of the moon.

realpath information kept around to aid debugging.
This replicate the existing Azure DevOps workflow, and adds a couple of new
jobs (Python 2.7 on macOS, Python + vanilla Ansible on Linux).

The GitHub Actions use container images hosted on GitHub Container Registry
(GHCR, ghcr.io/mitogen-hq). These images have been copied straight from the
existing Amazon Elastic Cloud Registry (AWS ECR, public.ecr.aws/n5z0e8q9).

A short period of parallel running is planned. Then a second PR will remove
the Azure DevOps workflow.
@moreati
Copy link
Member Author

moreati commented Sep 26, 2024

Green across both the boards 😁

@moreati moreati marked this pull request as ready for review September 26, 2024 10:52
@moreati moreati changed the title CI: Migrate from Azure DevOps to GitHub actions CI: Begin migration from Azure DevOps to GitHub actions Sep 26, 2024
@moreati moreati merged commit a51909e into mitogen-hq:master Sep 26, 2024
91 checks passed
@moreati moreati deleted the github-actions branch September 26, 2024 11:47
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.

1 participant