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 77% rename from docs/build.sh rename to docs/scripts/build.sh index b8356ac207..64ba735d66 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" @@ -11,14 +13,14 @@ PROJECT_FILES=( here=$(dirname "${0}") pushd "${here}" -version=$(cat ../VERSION) +version=$(cat ../../VERSION) mkdir -p build/docs -cp ../README.adoc build/ +cp ../../README.adoc build/ sed -i -e "s/VERSION/${version}/" build/README.adoc cp -r images build/docs/ for f in ${PROJECT_FILES[*]}; do mkdir -p "build/$(dirname "$f")" - cp "../$f" "build/"$(dirname "$f")"" + cp "../../$f" "build/"$(dirname "$f")"" done asciidoctor-pdf -a pdf-theme=pdf-theme.yml -o build/Fairspace.pdf build/README.adoc || { echo "Error building PDF" diff --git a/docs/scripts/deploy.sh b/docs/scripts/deploy.sh new file mode 100755 index 0000000000..d3938dec15 --- /dev/null +++ b/docs/scripts/deploy.sh @@ -0,0 +1,25 @@ +#!/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 + +cd .. +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