From 91849fe6dfe1581a05ee043200169cb0448031b2 Mon Sep 17 00:00:00 2001 From: anton Date: Sat, 8 Jun 2024 00:02:57 +0200 Subject: [PATCH] FAIRSPC-87: added workflow to Build and deploy docs to Github Pages and fixed table in doc --- .github/workflows/build_and_deploy_docs.yaml | 10 +++++-- docs/deploy.sh | 18 ------------ docs/{ => scripts}/build.sh | 10 +++++-- docs/scripts/deploy.sh | 31 ++++++++++++++++++++ 4 files changed, 46 insertions(+), 23 deletions(-) delete mode 100755 docs/deploy.sh rename docs/{ => scripts}/build.sh (73%) create mode 100755 docs/scripts/deploy.sh diff --git a/.github/workflows/build_and_deploy_docs.yaml b/.github/workflows/build_and_deploy_docs.yaml index 8af7555c7c..8a7d618032 100644 --- a/.github/workflows/build_and_deploy_docs.yaml +++ b/.github/workflows/build_and_deploy_docs.yaml @@ -25,15 +25,19 @@ jobs: with: ruby-version: '2.7' - - name: Install Asciidoctor + - name: Install Asciidoctor to build docs run: | gem install asciidoctor gem install asciidoctor-pdf gem install rouge - name: Run Build Docs script - run: ./docs/build.sh + run: ./docs/scripts/build.sh - name: Run Deploy Docs script - run: ./docs/deploy.sh + env: + CI_SERVICE_ACCOUNT_USER: ${{ secrets.CI_SERVICE_ACCOUNT_USER }} + CI_SERVICE_ACCOUNT_PASSWORD: ${{ secrets.FNS_PAT }} + DOCUMENTATION_REPO: ${{ vars.DOCUMENTATION_REPO }} + run: ./docs/scripts/deploy.sh diff --git a/docs/deploy.sh b/docs/deploy.sh deleted file mode 100755 index afbc8f1699..0000000000 --- a/docs/deploy.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash - -cd .. -git clone "https://${CI_SERVICE_ACCOUNT_USER}:${CI_SERVICE_ACCOUNT_PASSWORD}@github.com/${DOCUMENTATION_REPO}" fairspace-docs -export DOCS_DIR=$(pwd)/fairspace-docs - -cp -r ./fairspace/docs/build/* "${DOCS_DIR}/" - -pushd "${DOCS_DIR}" -if [ ! "$(git status -s)" == "" ]; then - echo "Committing changes to ${DOCUMENTATION_REPO} ..." - git add . - git commit -a -m "Update from the documentation branch of ${TRAVIS_REPO_SLUG}." - git push "https://${GITHUB_USERNAME}:${GITHUB_PASSWORD}@github.com/${DOCUMENTATION_REPO}" main -else - echo "Documentation unchanged." -fi -popd diff --git a/docs/build.sh b/docs/scripts/build.sh similarity index 73% rename from docs/build.sh rename to docs/scripts/build.sh index b8356ac207..baffc87d63 100755 --- a/docs/build.sh +++ b/docs/scripts/build.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash +# the script builds the documentation and saves it to the build directory to be deployed by the deploy.sh script +set -e PROJECT_FILES=( "projects/saturn/src/main/resources/log4j2.properties" @@ -8,9 +10,13 @@ PROJECT_FILES=( "projects/saturn/vocabulary.ttl" ) - +# Set working directory +# Get the directory where the script is located here=$(dirname "${0}") -pushd "${here}" +# Move one level up from the script's directory +parent_dir=$(cd "${here}/.." && pwd) +pushd "${parent_dir}" + version=$(cat ../VERSION) mkdir -p build/docs cp ../README.adoc build/ diff --git a/docs/scripts/deploy.sh b/docs/scripts/deploy.sh new file mode 100755 index 0000000000..fe1020ccdd --- /dev/null +++ b/docs/scripts/deploy.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash +# the script pulls the documentation repository, copies the built documentation to the repository, commits and pushes the changes +# the documentation repository is configured to deploy the documentation to the GitHub Pages on push to the main branch +set -e + +# Set working directory +# Get the directory where the script is located +here=$(dirname "${0}") +# Move two levels up from the script's directory +parent_dir=$(cd "${here}/../../" && pwd) +pushd "${parent_dir}" + +export DOCS_REPO="https://${CI_SERVICE_ACCOUNT_USER}:${CI_SERVICE_ACCOUNT_PASSWORD}@github.com/thehyve/${DOCUMENTATION_REPO}" +echo "Cloning documentation repository ${DOCS_REPO} ..." +git clone --branch main "${DOCS_REPO}" fairspace-docs +git config --global user.email "ci_fairspace@thehyve.nl" +git config --global user.name "${CI_SERVICE_ACCOUNT_USER}" +export DOCS_DIR=$(pwd)/fairspace-docs + +cp -r ./fairspace/docs/build/* "${DOCS_DIR}/" + +pushd "${DOCS_DIR}" +if [ ! "$(git status -s)" == "" ]; then + echo "Committing changes to ${DOCUMENTATION_REPO} ..." + git add . + git commit -a -m "Update documentation" + git push "${DOCS_REPO}" main +else + echo "Documentation unchanged." +fi +popd