-
Notifications
You must be signed in to change notification settings - Fork 2.3k
[mod] rework container deployment #4764
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
Conversation
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 reworks the container deployment process by consolidating container-related build, test, and push logic while removing legacy Docker functions. Key changes include:
- Introducing new container.* functions (build, test, push) in lib_sxng_container.sh.
- Updating version retrieval and GitHub Actions integration for container operations.
- Removing deprecated docker functions and updating CI workflows and Makefile targets.
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| utils/lib_sxng_container.sh | Adds container.build, container.test, and container.push functions with engine checks. |
| searx/version.py | Adds GitHub Actions–specific branch and URL handling in get_git_url_and_branch. |
| manage | Removes legacy docker commands and adds container.* commands in the Makefile targets. |
| armv7.dockerfile | Introduces a dedicated Dockerfile configuration for ARMv7 architectures. |
| Makefile | Updates MANAGE targets to include podman and container commands. |
| Dockerfile | Adjusts build instructions to enable caching via --mount syntax. |
| .github/workflows/integration.yml | Removes outdated Docker workflow configuration. |
| .github/workflows/container.yml | Adds a new workflow for container build, test, and release with multi-arch support. |
container.yml will run after integration.yml COMPLETES successfully and in master branch. Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows. * Podman is now supported to build the container images (Docker also received a refactor, merging both build and buildx) * Container images are being built by Buildah instead of Docker BuildKit. * Container images are tested before release. * Splitting "modern" (amd64 & arm64) and "legacy" (armv7) arches on different Dockerfiles allowing future optimizations.
b98c2fe to
2bc3057
Compare
return42
left a comment
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.
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.
LGTM
I haven't test container.push, but it makes sense.
I'm not sure why this is draft?
Thank you.
`./container/` folder is the new folder for container related files including new Dockerfiles and config. `./container/legacy/` is dedicated to legacy architectures like armv7. Related Dockerfiles and configs go there.
| case $parch in | ||
| "X64" | "x86_64" | "amd64") | ||
| dockerfile="Dockerfile" |
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.
nitpicking: indentation can be fixed to 8 spaces .. related to #4707 (comment) .. but we can also standardize indentations later when you create the PR for a shell formater.
|
Note; Clean build: https://github.com/searxng/searxng/actions/runs/14957565596 |
…XNG container Reference: searxng/searxng#4764
…XNG container (#1108) Reference: searxng/searxng#4764
container.yml will run after integration.yml COMPLETES successfully and in master branch. Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows. * Podman is now supported to build the container images (Docker also received a refactor, merging both build and buildx) * Container images are being built by Buildah instead of Docker BuildKit. * Container images are tested before release. * Splitting "modern" (amd64 & arm64) and "legacy" (armv7) arches on different Dockerfiles allowing future optimizations.
This PR supersedes and is part of #4707
Closes #484