-
Notifications
You must be signed in to change notification settings - Fork 222
Improve local deployments of GH Validation #11102
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
base: master
Are you sure you want to change the base?
Conversation
|
👋 Hello! Thanks for contributing to our project. You can see the progress at the end of this page and at https://github.com/uyuni-project/uyuni/pull/11102/checks If you are unsure the failing tests are related to your code, you can check the "reference jobs". These are jobs that run on a scheduled time with code from master. If they fail for the same reason as your build, it means the tests or the infrastructure are broken. If they do not fail, but yours do, it means it is related to your code. Reference tests: KNOWN ISSUES Sometimes the build can fail when pulling new jar files from download.opensuse.org . This is a known limitation. Given this happens rarely, when it does, all you need to do is rerun the test. Sorry for the inconvenience. For more tips on troubleshooting, see the troubleshooting guide. Happy hacking! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds macOS (Darwin) support to the Podman test runner infrastructure, enabling developers to run the testsuite on macOS systems using Podman Desktop. The changes enable cross-platform compatibility by detecting the operating system and adjusting commands accordingly.
Key changes:
- Added Darwin OS detection and conditional command execution throughout all podman_runner scripts
- Renamed
00_setup_env.shto00_clean_env.shwith macOS-specific cleanup logic - Replaced custom container registry images with standard
docker.io/library/registry:2images - Added multi-architecture (amd64/arm64) build support for GitHub Actions workflows
- Improved error messages and added server readiness checks
Reviewed Changes
Copilot reviewed 41 out of 41 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| testsuite/podman_runner/*.sh | Added Darwin detection and conditional podman command handling (with/without sudo) |
| testsuite/podman_runner/00_clean_env.sh | Renamed from 00_setup_env.sh with added macOS machine cleanup logic |
| testsuite/podman_runner/03_run_controller_and_registry_and_buildhost.sh | Major refactor: replaced custom registry containers with standard registry:2 images, added registry wait logic and insecure registry configuration |
| testsuite/podman_runner/08_start_server.sh | Added wait_for_server_ready() function and --privileged flag |
| testsuite/podman_runner/setup-nginx-proxy-for-docker-registries.sh | Added Darwin-specific nginx installation and configuration paths |
| testsuite/dockerfiles/*/Dockerfile | Added iputils package to various minion containers and additional dependencies |
| .github/workflows/*.yml | Added multi-architecture build support (linux/amd64, linux/arm64) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
testsuite/podman_runner/03_run_controller_and_registry_and_buildhost.sh
Outdated
Show resolved
Hide resolved
| EOF | ||
|
|
||
| $PODMAN_CMD exec controller bash --login -c 'source /root/.bashrc' | ||
| $PODMAN_CMD run -d --network network --name ${AUTH_REGISTRY_NAME} -h ${AUTH_REGISTRY_NAME} -e AUTH_REGISTRY=${AUTH_REGISTRY_NAME} -e AUTH_REGISTRY_USER=${AUTH_REGISTRY_USER} -e AUTH_REGISTRY_PASSWD=${AUTH_REGISTRY_PASSWD} -p 5001:5000 docker.io/library/registry:2 |
Copilot
AI
Oct 31, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The standard registry:2 image does not support authentication via AUTH_REGISTRY_USER and AUTH_REGISTRY_PASSWD environment variables. The registry:2 image requires a separate htpasswd file and configuration. This container will not have authentication enabled as intended.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot open a new pull request to apply changes based on this feedback
f927c51 to
5cb0173
Compare
5cb0173 to
4ed2a44
Compare
What does this PR change?
This pull request updates the GitHub Actions workflows for building and pushing container images, adding support for multi-architecture builds (amd64 and arm64). It also makes minor improvements to Dockerfiles, including package additions and cleanups.
Multi-architecture build improvements:
PLATFORMSenvironment variable (linux/amd64,linux/arm64) to.github/workflows/build_containers.ymland.github/workflows/build_controller_test_container.yml, enabling all container images to be built for both amd64 and arm64 architectures.platformsargument referencing the newPLATFORMSvariable, ensuring images are published for both architectures.Workflow and Dockerfile cleanup:
container-registryandcontainer-registry-auth, and repurposed jobs to streamline the workflow.testsuite/dockerfiles/buildhost/Dockerfile, added theiputilspackage to the install list.testsuite/dockerfiles/controller-dev/Dockerfile, addedlibgbm-develandvi, and consolidated the installation oflibssh4andlibssh-devel.GUI diff
No difference.
Documentation
No documentation needed
DONE
Test coverage
ℹ️ If a major new functionality is added, it is strongly recommended that tests for the new functionality are added to the Cucumber test suite
No tests
DONE
Links
No ports
Changelogs
Make sure the changelogs entries you are adding are compliant with https://github.com/uyuni-project/uyuni/wiki/Contributing#changelogs and https://github.com/uyuni-project/uyuni/wiki/Contributing#uyuni-projectuyuni-repository
If you don't need a changelog check, please mark this checkbox:
If you uncheck the checkbox after the PR is created, you will need to re-run
changelog_test(see below)Re-run a test
If you need to re-run a test, please mark the related checkbox, it will be unchecked automatically once it has re-run:
Before you merge
Check How to branch and merge properly!