From bbed27987ae3d52280243f95421b9f8d5ed1e2c4 Mon Sep 17 00:00:00 2001 From: Ffhener Date: Tue, 6 Feb 2024 15:29:08 +0100 Subject: [PATCH] workflows: add a independent workflow for wikiupdater --- .github/workflows/testbuild.yml | 2 +- .github/workflows/wikiupdate.yml | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/.github/workflows/testbuild.yml b/.github/workflows/testbuild.yml index dec81848f..47aa45165 100644 --- a/.github/workflows/testbuild.yml +++ b/.github/workflows/testbuild.yml @@ -1,6 +1,6 @@ --- name: Test Build -on: [pull_request] # yamllint disable-line rule:truthy +on: [pull_request] # yamllint disable-line rule:truthy jobs: build: diff --git a/.github/workflows/wikiupdate.yml b/.github/workflows/wikiupdate.yml index e69de29bb..270865f41 100644 --- a/.github/workflows/wikiupdate.yml +++ b/.github/workflows/wikiupdate.yml @@ -0,0 +1,35 @@ +--- +name: Wikiupdate +on: # yamllint disable-line rule:truthy + push: + branches: + - master + +jobs: + update: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install dependencies + run: sudo apt install python3 + + - name: Install dependencies + run: pip3 install -r requirements.txt --upgrade pip + + - name: Determine changed locations + run: | + CHANGED_LOCATIONS=$(git diff ${{ github.event.before }}..${{ github.event.after }} --diff-filter=d --name-only | grep 'locations/' | sed 's/locations\/\(.*\)\.yml/location_\1/' | sed -z 's/-/_/g;s/\n/,/g;s/,$//') + echo "Updating for changed locations: $CHANGED_LOCATIONS" + echo "CHANGED_LOCATIONS=$CHANGED_LOCATIONS" >> "$GITHUB_ENV" + + - name: Update wiki.freifunk.net + run: | + if [ -n "${CHANGED_LOCATIONS}" ]; then + ansible-playbook play.yml --tags wiki --limit "$CHANGED_LOCATIONS" ||true + else + echo "No locations were changed. Skipping update" + fi