FAIRSPC-87: added workflow to Build and deploy docs to Github Pages a… #34
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow is triggered on any PR's changes | |
name: Build and deploy docs to Github Pages | |
on: | |
push: | |
branches: | |
- bugfix/FAIRSPC-87 | |
jobs: | |
build-saturn: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Log details | |
run: | | |
BRANCH=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} | |
echo "Triggered on branch: $BRANCH" | |
- name: Set up Ruby (required for gem installation) | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '2.7' | |
- name: Install Asciidoctor to build docs | |
run: | | |
gem install asciidoctor | |
gem install asciidoctor-pdf | |
gem install rouge | |
- name: Build Docs - Collect needed files | |
run: | | |
PROJECT_FILES=( | |
"projects/saturn/src/main/resources/log4j2.properties" | |
"projects/saturn/src/main/resources/system-vocabulary.ttl" | |
"projects/saturn/taxonomies.ttl" | |
"projects/saturn/views.yaml" | |
"projects/saturn/vocabulary.ttl" | |
) | |
BUILD_DIR=./docs/build | |
version=$(cat VERSION) | |
mkdir -p $BUILD_DIR/docs | |
cp ./README.adoc $BUILD_DIR | |
sed -i -e "s/VERSION/${version}/" $BUILD_DIR/README.adoc | |
cp -r ./docs/images $BUILD_DIR/docs/ | |
for f in ${PROJECT_FILES[*]}; do | |
mkdir -p "$BUILD_DIR/$(dirname "$f")" | |
cp "$f" "$BUILD_DIR/"$(dirname "$f")"" | |
done | |
- name: Build Docs - Generate PDF and HTML | |
run: | | |
BUILD_DIR=./docs/build | |
asciidoctor-pdf -a pdf-theme=./docs/pdf-theme.yml -o $BUILD_DIR/Fairspace.pdf $BUILD_DIR/README.adoc || { | |
echo "Error building PDF" | |
popd | |
exit 1 | |
} | |
asciidoctor -a toc=left -D $BUILD_DIR/ -o index.html $BUILD_DIR/README.adoc || { | |
echo "Error building site" | |
popd | |
exit 1 | |
} | |
rm $BUILD_DIR/README.adoc | |
- name: Run Deploy Docs script | |
env: | |
CI_SERVICE_ACCOUNT_USER: ${{ secrets.CI_SERVICE_ACCOUNT_USER }} | |
CI_SERVICE_ACCOUNT_PASSWORD: ${{ secrets.FNS_PAT }} | |
DOCUMENTATION_REPO: ${{ vars.DOCUMENTATION_REPO }} | |
run: | | |
cd .. | |
DOCS_REPO="https://${CI_SERVICE_ACCOUNT_USER}:${CI_SERVICE_ACCOUNT_PASSWORD}@github.com/thehyve/${DOCUMENTATION_REPO}" | |
echo "Cloning documentation repository ${DOCUMENTATION_REPO} ..." | |
git clone --branch main "${DOCS_REPO}" fairspace-docs | |
DOCS_DIR=$(pwd)/fairspace-docs | |
echo "Copying documentation to ${DOCS_DIR} ..." | |
cp -r ./fairspace/docs/build/* "${DOCS_DIR}/" | |
if [ ! "$(git status -s)" == "" ]; then | |
echo "Committing and pushing changes to ${DOCUMENTATION_REPO} ..." | |
git config --global user.email "${CI_SERVICE_ACCOUNT_USER}@thehyve.nl" | |
git config --global user.name "${CI_SERVICE_ACCOUNT_USER}" | |
git add . | |
git commit -a -m "Update documentation" | |
git push "${DOCS_REPO}" main | |
else | |
echo "Documentation unchanged." | |
fi | |
# | |
# - name: Run Deploy Docs script | |
# 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 | |