Safely exit when there's nothing new to commit #6
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
name: Update Documentation on Website | |
on: | |
release: | |
types: [published] | |
push: | |
branches: | |
- doxygen-github-action | |
workflow_dispatch: # manual trigger | |
jobs: | |
build_and_update_docs: | |
runs-on: ubuntu-latest | |
outputs: | |
libnabo_tag: ${{ steps.step1.outputs.libnabo_tag }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
sudo apt install -y build-essential cmake doxygen graphviz libboost-all-dev libeigen3-dev libyaml-cpp-dev | |
- name: Install libnabo 1) install jq | |
run: sudo apt install -y jq # Install jq for JSON processing | |
- name: Install libnabo 2) Get Latest Release Tag | |
id: get_latest_release | |
run: | | |
TAG=$(curl -s https://api.github.com/repos/norlab-ulaval/libnabo/releases/latest | jq -r '.tag_name') | |
echo "::set-output name=tag::$TAG" | |
- name: Install libnabo 4) Install libnabo | |
run: | | |
git clone -b ${{ steps.get_latest_release.outputs.tag }} https://github.com/norlab-ulaval/libnabo.git | |
echo "Latest release tag: ${{ steps.get_latest_release.outputs.tag }}" | |
mkdir -p libnabo/build | |
cd libnabo/build | |
cmake .. | |
sudo make install | |
- name: Set up libpointmatcher CMake | |
run: | | |
mkdir build | |
cd build | |
cmake -DGENERATE_API_DOC=TRUE .. | |
- name: Build Documentation | |
run: cd build && make doc | |
- name: Clone website repository | |
uses: actions/checkout@v2 | |
with: | |
repository: norlab-ulaval/norlab-ulaval.github.io | |
path: website | |
ssh-key: ${{ secrets.NORLAB_WEBSITE_DOCUMENTATION }} | |
ref: update-libpointmatcher-docs | |
- name: Replace documentation files | |
run: cp -r build/doc/html website/libpointmatcher-doc | |
- name: Commit and push changes | |
run: | | |
cd website | |
git config --local user.email "[email protected]" | |
git config --local user.name "GitHub Actions" | |
git fetch | |
git add libpointmatcher-doc | |
git pull | |
git commit -m "Update documentation for new release" || exit 0 | |
git push origin HEAD:refs/heads/update-libpointmatcher-docs |