这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@inetol
Copy link
Member

@inetol inetol commented May 10, 2025

This PR supersedes and is part of #4707

Closes #484

@inetol inetol requested review from Copilot and return42 May 10, 2025 11:49
Copy link

Copilot AI left a 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.
@inetol inetol force-pushed the refactor-container branch from b98c2fe to 2bc3057 Compare May 10, 2025 12:02
Copy link
Member

@return42 return42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@inetol requested your review on: #4764 [mod] rework container deployment.

I'm sorry, I can't review since I don't have any docker knowledge.

@inetol inetol requested review from dalf and unixfox May 11, 2025 07:44
Copy link
Contributor

@dalf dalf left a 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.

inetol added 2 commits May 11, 2025 17:13
`./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.
@inetol inetol marked this pull request as ready for review May 11, 2025 15:46
@inetol inetol merged commit d16854e into searxng:master May 11, 2025
7 checks passed
Comment on lines +53 to +55
case $parch in
"X64" | "x86_64" | "amd64")
dockerfile="Dockerfile"
Copy link
Member

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.

@inetol
Copy link
Member Author

inetol commented May 11, 2025

@inetol inetol deleted the refactor-container branch May 12, 2025 08:13
inetol added a commit to inetol/searxng that referenced this pull request May 12, 2025
inetol added a commit to inetol/searxng that referenced this pull request May 12, 2025
return42 pushed a commit to inetol/searxng that referenced this pull request May 12, 2025
return42 pushed a commit to inetol/searxng that referenced this pull request May 12, 2025
felladrin added a commit to felladrin/MiniSearch that referenced this pull request May 14, 2025
felladrin added a commit to felladrin/MiniSearch that referenced this pull request May 14, 2025
Bnyro pushed a commit to Bnyro/searxng that referenced this pull request Jun 25, 2025
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.
Bnyro pushed a commit to Bnyro/searxng that referenced this pull request Jun 25, 2025
Bnyro pushed a commit to Bnyro/searxng that referenced this pull request Jun 25, 2025
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.

GitHub workflow: docker steps: check the image is actually working.

3 participants