diff --git a/.github/workflows/check_doxygen_awesome_version.yml b/.github/workflows/check_doxygen_awesome_version.yml index 0eba903..cc72a99 100644 --- a/.github/workflows/check_doxygen_awesome_version.yml +++ b/.github/workflows/check_doxygen_awesome_version.yml @@ -1,49 +1,51 @@ +name: Auto-update doxygen-awesome + on: workflow_dispatch: push: branches: - main jobs: check-for-updates: runs-on: ubuntu-latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@v2 - name: Open PR if doxygen-awesome outdated. run: | VERSION=$(docs/doxystyle/update_doxygen_awesome.sh "$(mktemp -d)") BRANCH=update-doxygen-awesome-${VERSION} COMMIT_MESSAGE="Update doxygen-awesome to ${VERSION}" # NOTE: In a later runs of CI we will search for PR with this exact # title. Only if no such PR exists will the script create a # new PR. PR_TITLE="Update doxygen-awesome to ${VERSION}" if [[ -z "$(git status --porcelain)" ]] then echo "No differences detected: doxygen-awesome is up-to-date." exit 0 fi if [[ -z "$(gh pr list --state all --search "${PR_TITLE}")" ]] then git checkout -b $BRANCH git config user.name github-actions git config user.email github-actions@github.com git commit -a -m "${COMMIT_MESSAGE}" git push -u origin ${BRANCH} gh pr create \ --title "${PR_TITLE}" \ --body "This PR was generated by a Github Actions workflow." else echo "Old PR detected: didn't create a new one." fi diff --git a/docs/doxystyle/update_doxygen_awesome.sh b/docs/doxystyle/update_doxygen_awesome.sh index 5ab18b0..b2986fb 100755 --- a/docs/doxystyle/update_doxygen_awesome.sh +++ b/docs/doxystyle/update_doxygen_awesome.sh @@ -1,39 +1,40 @@ #! /usr/bin/env bash set -e if [[ $# -ne 1 ]] then echo "Usage: $0 TMP_DIR" echo "" echo "TMP_DIR must point to a writeable, empty, temporary directory." exit 1 fi TMP_DIR="$(realpath "$1")" DOXYGEN_AWESOME_DIR="$(dirname "$(realpath "$0")")" REPO_URL="https://github.com/jothepro/doxygen-awesome-css" REPO_DIR="${TMP_DIR}/doxygen-awesome-css" CONTENT_URL="https://raw.githubusercontent.com/jothepro/doxygen-awesome-css" mkdir -p "${TMP_DIR}" git clone ${REPO_URL} "${REPO_DIR}" 1>&2 pushd "${REPO_DIR}" 1>&2 VERSION="$(git tag -l | sed -e '/^v[0-9]*\.[0-9]*\.[0-9]*$/!d' | sort -V | tail -n 1)" popd 1>&2 if [[ -z "$VERSION" ]] then exit 1 fi -for STYLESHEET in "doxygen-awesome.css" "doxygen-awesome-sidebar-only.css" "doxygen-awesome-darkmode-toggle.js" "doxygen-awesome-sidebar-only-darkmode-toggle.css" -curl "${CONTENT_URL}/${VERSION}/${STYLESHEET}" \ - --output "${DOXYGEN_AWESOME_DIR}/${STYLESHEET}" \ - 1>&2 +for STYLESHEET in "doxygen-awesome.css" "doxygen-awesome-sidebar-only.css" "doxygen-awesome-darkmode-toggle.js" "doxygen-awesome-sidebar-only-darkmode-toggle.css"; do + curl "${CONTENT_URL}/${VERSION}/${STYLESHEET}" \ + --output "${DOXYGEN_AWESOME_DIR}/${STYLESHEET}" \ + 1>&2 +done echo "${VERSION}"