[mod] CI: refactor data-update.yml - searxng_extra/update scripts (#4732)

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).
This commit is contained in:
Ivan Gabaldon 2025-05-08 15:13:22 +02:00 committed by GitHub
parent 01a07f34b2
commit c6a70782b2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,14 +1,27 @@
name: "Update searx.data" ---
on: # yamllint disable-line rule:truthy name: Update searx.data
# yamllint disable-line rule:truthy
on:
workflow_dispatch:
schedule: schedule:
- cron: "59 23 28 * *" - cron: "59 23 28 * *"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: false
permissions:
contents: read
env:
PYTHON_VERSION: "3.13"
jobs: jobs:
updateData: data:
name: Update data - ${{ matrix.fetch }} if: github.repository_owner == 'searxng'
runs-on: ubuntu-24.04 name: ${{ matrix.fetch }}
if: ${{ github.repository_owner == 'searxng'}} runs-on: ubuntu-24.04-arm
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@ -20,48 +33,47 @@ jobs:
- update_engine_traits.py - update_engine_traits.py
- update_wikidata_units.py - update_wikidata_units.py
- update_engine_descriptions.py - update_engine_descriptions.py
steps: steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Ubuntu packages
run: |
sudo ./utils/searxng.sh install packages
- name: Setup Python - name: Setup Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.12' python-version: "${{ env.PYTHON_VERSION }}"
architecture: 'x64'
- name: Install Python dependencies - name: Checkout
run: | uses: actions/checkout@v4
make V=1 install with:
persist-credentials: "false"
- name: Setup cache Python
uses: actions/cache@v4
with:
key: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}"
restore-keys: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-"
path: "./local/"
- name: Setup venv
run: make V=1 install
- name: Fetch data - name: Fetch data
env: run: V=1 ./manage pyenv.cmd python "./searxng_extra/update/${{ matrix.fetch }}"
FETCH_SCRIPT: ./searxng_extra/update/${{ matrix.fetch }}
run: |
V=1 ./manage pyenv.cmd python "$FETCH_SCRIPT"
- name: Create Pull Request - name: Create PR
id: cpr id: cpr
uses: peter-evans/create-pull-request@v6 uses: peter-evans/create-pull-request@v7
with: with:
commit-message: '[data] update searx.data - ${{ matrix.fetch }}' author: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
committer: searxng-bot <noreply@github.com> committer: "searxng-bot <searxng-bot@users.noreply.github.com>"
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> title: "[data] update searx.data - ${{ matrix.fetch }}"
signoff: false commit-message: "[data] update searx.data - ${{ matrix.fetch }}"
branch: update_data_${{ matrix.fetch }} branch: "update_data_${{ matrix.fetch }}"
delete-branch: true delete-branch: "true"
draft: false draft: "false"
title: '[data] update searx.data - ${{ matrix.fetch }}' signoff: "false"
body: |
update searx.data - ${{ matrix.fetch }}
labels: | labels: |
data data
- name: Check outputs - name: Display information
run: | run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"