From 939190c6bbda45ab04b0b0f0ed93f6635eccde6c Mon Sep 17 00:00:00 2001 From: LizenzFass78851 <82592556+LizenzFass78851@users.noreply.github.com> Date: Sat, 27 Apr 2024 09:42:05 +0200 Subject: [PATCH] add workflow to generate md files --- .github/scripts/gen_readme.md.sh | 34 ++++++++++++++ .github/workflows/gen_md_files.yml | 73 ++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 .github/scripts/gen_readme.md.sh create mode 100644 .github/workflows/gen_md_files.yml diff --git a/.github/scripts/gen_readme.md.sh b/.github/scripts/gen_readme.md.sh new file mode 100644 index 0000000..33b77ed --- /dev/null +++ b/.github/scripts/gen_readme.md.sh @@ -0,0 +1,34 @@ +#!/bin/bash +set -e # Beende das Skript bei einem Fehler + +# Voreinstellungen +#SUCHVERZEICHNIS= +PATCHTHEFILE=README.md + +LINKS=/tmp/$PATCHTHEFILE.txt + +# Hole die Links +if [ -e "$LINKS" ]; then + rm "$LINKS" +fi + +find ./ -name '*' -type d -maxdepth 1 \ + | sed 's#^./##g' \ + | sed 's# #%20#g' \ + | sed -e '1d' \ + | grep -v '.git' \ + | sort >> $LINKS + + +# Lösche die Datei +rm $PATCHTHEFILE + + +# Erstelle die Datei +# Schicht 1 +echo -e '# FritzBox Scripts\n\n\nA collection of tools and scripts with which you can do something in combination with a Fritzbox\n\n## Overview of the scripts and files:' | tee $PATCHTHEFILE + +# Die Links +while read line; do + echo "- [$(echo $line | sed 's#%20# #g')](./$line)" >> $PATCHTHEFILE +done < $LINKS diff --git a/.github/workflows/gen_md_files.yml b/.github/workflows/gen_md_files.yml new file mode 100644 index 0000000..a51f930 --- /dev/null +++ b/.github/workflows/gen_md_files.yml @@ -0,0 +1,73 @@ +name: generate selected *.md files + +on: + push: + branches: [ main ] +# paths: +# - '.github/workflows/gen_md_files.yml' +# +# - '.github/scripts/gen_readme.md.sh.sh' + +# schedule: +# - cron: '20 12 * * *' + workflow_dispatch: + +env: + SCRIPT01: .github/scripts/gen_readme.md.sh +# SCRIPT02: + +jobs: + generate-and-deploy: + container: + image: ubuntu:22.04 + runs-on: ubuntu-latest +# if: github.repository == '' + + steps: + - name: key + id: key + run: | + export KEY="${GITHUB_WORKFLOW%-*}" + echo "key=$KEY" >> $GITHUB_OUTPUT + echo "################################################################" && bash -c "echo KEY=$KEY" + + - name: update + run: apt-get -y update && apt-get -y upgrade && apt-get -y dist-upgrade + + - name: install + run: | + DEBIAN_FRONTEND=noninteractive apt-get -y install \ + git locales + + - name: locale + run: locale-gen en_US.utf8 && locale-gen de_DE.UTF-8 && update-locale + + - name: clone + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git config --global --add safe.directory $GITHUB_WORKSPACE + git clone https://github-actions:$GITHUB_TOKEN@${GITHUB_SERVER_URL##*/}/$GITHUB_REPOSITORY.git $GITHUB_WORKSPACE --branch $GITHUB_REF_NAME + + - name: generate + run: | + export LANG=en_US.utf8 + [ "${{ github.workflow }}" != "${{ steps.key.outputs.key }}" ] && c=5 || c=1 + + seq $c | while read x; do echo run ${{ env.SCRIPT01 }} && chmod +x ${{ env.SCRIPT01 }} && ./${{ env.SCRIPT01 }}; done +# seq $c | while read x; do echo run ${{ env.SCRIPT02 }} && chmod +x ${{ env.SCRIPT02 }} && ./${{ env.SCRIPT02 }}; done + + - name: commit + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git config --global --add safe.directory $GITHUB_WORKSPACE + git pull + git add . + git status + git config --local user.name github-actions + git config --local user.email github-actions@github.com + git diff --cached --quiet && exit 0 || git commit -m "docs: Update MD Files" + git config --local credential.helper '!x() { echo "password=$GITHUB_TOKEN"; };x' + git push origin $GITHUB_REF_NAME +