summaryrefslogtreecommitdiff
path: root/.github/workflows
AgeCommit message (Collapse)Author
2025-06-23[mod] data: implement a simple tracker URL (SQL) databaseMarkus Heiser
On demand, the tracker data is loaded directly into the cache, so that the maintenance of this data via PRs is no longer necessary. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-06-23[feat] tracker url plugin: use ClearURL tracking param listBnyro
2025-06-10[fix] CI: prevent manifest removal (#4905)Ivan Gabaldon
The action does not take into account all cases of how an image is stored, causing errors like the ones below on image pull. I exclude `base` until I find a solution. *Error: internal error: unable to copy from source ...: initializing source ...: reading manifest ... in ghcr.io/searxng/base: manifest unknown*
2025-06-06[upd] github-actions: Bump aquasecurity/trivy-action (#4898)dependabot[bot]
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.30.0 to 0.31.0. - [Release notes](https://github.com/aquasecurity/trivy-action/releases) - [Commits](https://github.com/aquasecurity/trivy-action/compare/0.30.0...0.31.0) --- updated-dependencies: - dependency-name: aquasecurity/trivy-action dependency-version: 0.31.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03[mod] container: revert to alpine (#4893)Ivan Gabaldon
I'm not too pleased to reverse this, but issues like https://github.com/searxng/searxng/issues/4792 have not been foreseen, and we can't just turn away. It has become apparent over the last weeks that there are still quite a few people with an incompatible CPU or having SearXNG on some random VM provider who can't (or won't) modify the configuration of their machines to expose the features needed for x86_64v2 march. As I don't want to trash the work with apko and base images, I thought about trying building Alpine again now that we have all the container related workflow refactored. There will still be the discussion of whether to use musl and its drawbacks, but right now I don't know any other alternatives. The nice part of this is that both Dockerfiles (mainline and legacy) can now be unified under the same umbrella again. Closes https://github.com/searxng/searxng/issues/4792 Closes https://github.com/searxng/searxng/issues/4753
2025-06-01[mod] CI: exclude SearXNG checker and build & deploy of online docs (#4875)Markus Heiser
checker.yml 1. The checker is not yet of sufficient quality to allow the results of the check to be evaluated / we do not evaluate them ourselves. 2. The checker sends hundreds of requests to the search engines and causes problems there / we either overload small providers or we train their bot defenses to use the SearXNG signature. documentation.yml Building the documentation and deploying it on GH-docs of a clones (GH forks) is generally not desirable either --> We have >2k clones, but we only need one up-to-date documentation and that is the one from the master branch of the searxng/searxng repo. If search engines like Google start linking to the documentation in the clones, SearXNG users may no longer find the original documentation or be lost in the flood of options. Related: - https://github.com/searxng/searxng/issues/4847 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-25[mod] ci: exclude some workflows from forks (#4849)Ivan Gabaldon
Excludes some workflows/jobs unneeded on forks. Closes https://github.com/searxng/searxng/issues/4847
2025-05-17[mod] container: build custom base images (#4799)Ivan Gabaldon
Instead of using Wolfi base images from cgr.dev and making that mess on the Dockerfile, why don't we build the base images ourselves from Wolfi repos with apko? The intention of this is to simplify the main Dockerfile and avoid having to patch the base image every time, it also simplifies some steps like image ownership management and provides extremely fast builds.
2025-05-15[enh] container: support multiple registriesIvan Gabaldon
Allows to push the manifests to other registries, this allows to push both docker.io and ghcr.io registries.
2025-05-15[fix] CI: commit author should be `searxng-bot`Ivan Gabaldon
If the workflow is executed with the "workflow_dispatch" trigger, the user who executed the workflow becomes the author of the commit on the PR, this is not intended. It also reverts the body param so that the default text of the action does not appear.
2025-05-15[fix] CI: prevent race conditionIvan Gabaldon
`checker.yml` and `integration.yml` are the only workflows that are currently safe to be executed simultaneously, the others present a risk that the order of completion may not be expected. The ones that are chained from `integration.yml` can be called as many times as `integration.yml` workflows are running at that moment, the same with the trigger "workflow_dispatch". This can be fatal for workflows like `container.yml` that use a centralized cache to store and load the candidate images in a common tag called "searxng-<arch>". * For example, a `container.yml` workflow is executed after being chained from `integration.yml` (called "~1"), and seconds later it may be triggered again because another PR merged some breaking changes (called "~2"). While "~1" has already passed the test job successfully and is about to start the release job, "~2" finishes building the container and overwrites the references on the common tag. When "~1" in the release job loads the images using the common tag, it will load the container of "~2" instead of "~1" having skipped the whole test job process. The example is only set for the container workflow, but the other workflows might occur in a similar way.
2025-05-15[fix] CI: container-mounts bad hashIvan Gabaldon
This is a typo, but if there are multiple patterns in hashFiles, they should be separated by commas. https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions#examples-with-multiple-patterns
2025-05-14[fix] CI: handle old cache images from registryIvan Gabaldon
Currently, we have 1100~ cache images uploaded to GHCR that weigh more than 300 MB each (most of them are layers from the second phase of the Dockerfile that were uploaded by mistake, read below). To avoid problems, I have set up a new job in a new workflow to be run weekly purging all images older than 1 week, but leaving always the 100 most recent ones. Only the builder images should be uploaded to cache, the actual behaviour not only slows down the time for building the container, but also wastes lots of space by saving large and useless layers to GHCR that will never be used again.
2025-05-12[fix] DOCKERHUB_USERNAME env reference (#4778)Ivan Gabaldon
When making the container rework, I unknowingly deleted the section where an env with the same name as the secret was defined on the job scope, making it look like it was originally defined as an organization env. Since we can't validate the secrets in a condition directly, it's better to let docker/login-action take care of failing the entire job if the credentials are invalid. Reported in: https://github.com/searxng/searxng/issues/4777
2025-05-11revert using null keywordIvan Gabaldon
env.DOCKERHUB_USERNAME shouldn't be an empty string as it's defined and set (I think, I can't see this). Even if wasn't defined, GitHub Org/Repo wide envs/secrets should return an empty string (?)
2025-05-11[mod] rework container deployment (#4764)Ivan Gabaldon
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.
2025-05-10[mod] refactor integration.yml (#4763)Ivan Gabaldon
Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows.
2025-05-10[mod] new l10n.yml workflow (#4734)Ivan Gabaldon
l10n.yml will run after integration.yml finishes successfully (will defer anything depending on integration.yml until heavy loads like container building are moved to separate workflows) and in master branch. * After every integration.yml workflow completes successfully, only the `update` job runs. * Dispatch and Crontab triggers only the `pr` job. Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows (not functional until all workflows have been refactored).
2025-05-10[fix] documentation should run on push/prIvan Gabaldon
Instead of executing the workflow after integration.yml completes correctly, let's run this workflow parallel to integration.yml restoring the original behaviour.
2025-05-08[fix] missing PR perm data-update.yml workflow (#4737)Ivan Gabaldon
We actually don't need to keep the token on checkout because `peter-evans/create-pull-request` will read from `github.token`. The obvious `pull-requests` write permission wasn't set in the last fix, so I added it now.
2025-05-08[mod] CI move build of online docs to dedicated workflow documentation.yml ↵Ivan Gabaldon
(#4733) documentation.yml will run after integration.yml COMPLETES successfully (will defer anything depending on integration.yml until heavy loads like container building are moved to separate workflows) and in master branch. Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows (not functional until all workflows have been refactored).
2025-05-08[fix] fix security.yml workflow (#4735)Ivan Gabaldon
Uploading SARIFs needs to write into the repository GitHub security tab
2025-05-08[fix] missing perm data-update.yml workflow (#4736)Ivan Gabaldon
We need to keep the token on checkout and allow writing into the repository to create the branch
2025-05-08[mod] CI: refactor data-update.yml - searxng_extra/update scripts (#4732)Ivan Gabaldon
Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows (not functional until all workflows have been refactored).
2025-05-08[mod] CI refactor security.yml - style and cleanup changes (#4731)Ivan Gabaldon
2025-05-08[mod] CI: refactor checker.yml - make search.checker (#4730)Ivan Gabaldon
Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows (not functional until all workflows have been refactored).
2025-02-28[web-client] integrate the migrated theme in the github CIMarkus Heiser
- upgrade to ubuntu-24.04 to get NodeJS v20 - remove DEBUG (V=1) environment / in a ViteJS env the DEBUG environment is reserved for interactive debugging tasks (not for verbose build messages). Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-02-07[fix] selenium: binary is not a Firefox executableMarkus Heiser
Since Ubuntu installs firefox frrom snap, we can't use any longer ``Browser('firefox')``. [1] https://github.com/searxng/searxng/pull/3663#issuecomment-2255963036 [2] https://splinter.readthedocs.io/en/latest/drivers/firefox.html#custom-binary-path Suggested-by: @allendema Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-02-07[upd] upgrade: github actions / to ubuntu: 24.04 / to nvm: node 20.15Markus Heiser
- ubuntu-20.04 --> ubuntu-24.04 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-12-24[mod] add support for Python 3.13Markus Heiser
Python 3.13 has been released [1] - fasttext-predict supports py3.13 from version 0.9.2.3 [2] [1] https://www.python.org/downloads/release/python-3130/ [2] https://github.com/searxng/fasttext-predict/commit/f2da9cd173 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-11-24[upd] github CI: actions/cache@v3 to actions/cache@v4Markus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-11-06[fix] issues reported by `make test.yamllint`Markus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-11-01[fix] CI: remove target test.coverage from python's test matrixMarkus Heiser
The test.coverage cause a lot of failed CI jobs for reasons that cannot be explained. As we do not monitor the coverage anyway, it is superfluous to run this job, especially as it only has a disruptive effect on the CI. BTW and the CI action upload-artifact@v3 is deprecated [1] [1] https://github.com/actions/upload-artifact?tab=readme-ov-file#actionsupload-artifact Related: https://github.com/searxng/searxng/issues/3983 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-10-03[mod] py3.8 EOL / upgrade to actions/setup-python@v5Markus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-06-25GitHub Actions: Upgrade data-update.yml infrastructureChristian Clauss
2024-03-09[fix] CI YAML config filesMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-03-09[fix] CI YAML config filesMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-03-09[mod] CI: tag commits with leading scope/type of the modificationMarkus Heiser
Add a leading tag (in square brackets) about the scope/type to commit messages from automated tasks (commits from CI). dependantbot:: [upd] pypi: Bump .. from .. to .. [upd] npm: Bump .. from .. to .. in /searx/static/themes/simple Weblate translation updates:: [l10n] update translations from Weblate updates of ./data:: [data] update searx.data ... build commit of gh-pages:: [doc] build from commit ... Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-03-03GitHub workflows: run checker on FridayAlexandre Flament
2024-01-09[mod] get rid of ./utils/brand.env and its workflowMarkus Heiser
All the environments defined in ./utils/brand.env are generated on the fly, so there is no longer a need to define the brand environment in this file and all the workflows to handle this file. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-10-29Add support for Python 3.12Alexandre Flament
2023-09-15[CI] upgrade actions/checkout@v4 & actions/upload-artifact@v3Markus Heiser
Closes: https://github.com/searxng/searxng/issues/2777#issuecomment-1720958570 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-13[fix] typos in documentation & messagesToxyFlog1627
2023-04-19[CI] drop Python 3.7 from CIMarkus Heiser
- Python 3.7 supports security fixes only, as needed, until 2023-06 [1] - Some of SearXNG's dependencies do no longer support Python 3.7 [2] [1] https://peps.python.org/pep-0537/#and-beyond-schedule [2] https://github.com/searxng/searxng/pull/2102 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-03-24[mod] replace engines_languages.json by engines_traits.jsonMarkus Heiser
Implementations of the *traits* of the engines. Engine's traits are fetched from the origin engine and stored in a JSON file in the *data folder*. Most often traits are languages and region codes and their mapping from SearXNG's representation to the representation in the origin search engine. To load traits from the persistence:: searx.enginelib.traits.EngineTraitsMap.from_data() For new traits new properties can be added to the class:: searx.enginelib.traits.EngineTraits .. hint:: Implementation is downward compatible to the deprecated *supported_languages method* from the vintage implementation. The vintage code is tagged as *deprecated* an can be removed when all engines has been ported to the *traits method*. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-11-04chore: Set permissions for GitHub actions (#3225)nathannaveen
Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much. - Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs [Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/) Signed-off-by: nathannaveen <42319948+nathannaveen@users.noreply.github.com>
2022-11-04GH workflow: add Python 3.11Alexandre FLAMENT
2022-11-04GH workflow: use actions/cache@v3Alexandre FLAMENT
Also cache ./.nvm and ./node_modules
2022-11-04GH workflow: use actions/setup-python@v4Alexandre FLAMENT
GitHub displays this warning with the actions/setup-python@2 : Warning: The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2022-08-31GitHub worfklow: add daily security check using trivyAlexandre FLAMENT