From 2c87dcb9d04e706121b97ddef3974107363005a1 Mon Sep 17 00:00:00 2001 From: Katherine Rasmussen Date: Sun, 16 Jun 2024 13:48:41 -0700 Subject: [PATCH 1/3] Add CI YAML file to build and deploy documentation --- .github/workflows/deploy-docs.yml | 43 +++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/deploy-docs.yml diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 0000000..2dd39b8 --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,43 @@ +name: Build and Deploy Documentation + +on: [push, pull_request] + +jobs: + Build: + runs-on: ubuntu-22.04 + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Install Dependencies Ubuntu + run: | + sudo apt-get update + sudo apt install -y python3-dev python3 build-essential graphviz + sudo python3 -m pip install ford + + - name: Build Developer Documenation + run: | + ford ford.md + + - name: Upload Documentation + uses: actions/upload-artifact@v2 + with: + name: documentation + path: doc/html + if-no-files-found: error + + - name: Broken Link Check + if: ${{ github.ref == 'refs/heads/main'}} + uses: technote-space/broken-link-checker-action@v1 + with: + TARGET: file://${{ github.workspace }}/doc/html/index.html + RECURSIVE: true + ASSIGNEES: ${{ github.actor }} + + - name: Deploy API Documentation + uses: JamesIves/github-pages-deploy-action@4.1.0 + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + with: + branch: gh-pages + folder: doc/html From 20e8c3393c7bc4dd1abb3e1704f7925cce96697c Mon Sep 17 00:00:00 2001 From: Katherine Rasmussen Date: Sun, 16 Jun 2024 14:02:05 -0700 Subject: [PATCH 2/3] Add CI that builds source and runs unit tests --- .github/workflows/CI.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/CI.yml diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..ef7e622 --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,28 @@ +name: CI + +on: [push, pull_request] + +jobs: + Build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-24.04] + + steps: + - name: Checkout code + uses: actions/checkout@v1 + + - uses: fortran-lang/setup-fpm@v4 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Install Dependencies on Ubuntu + if: contains(matrix.os, 'ubuntu') + run: | + sudo apt update + sudo apt install -y build-essential gfortran-14 g++-14 + + - name: Build and Run unit tests + run: | + fpm test --compiler gfortran-14 From f4ec20cd01f4aa0247a59ffd5013375cbd8dabbe Mon Sep 17 00:00:00 2001 From: Katherine Rasmussen Date: Sun, 16 Jun 2024 14:17:31 -0700 Subject: [PATCH 3/3] Add macOS to CI --- .github/workflows/CI.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index ef7e622..0adece5 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -7,7 +7,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-24.04] + os: [macos-12, ubuntu-24.04] steps: - name: Checkout code @@ -23,6 +23,11 @@ jobs: sudo apt update sudo apt install -y build-essential gfortran-14 g++-14 + - name: Install Dependencies on macOS + if: contains(matrix.os, 'macos') + run: | + brew install gfortran + - name: Build and Run unit tests run: | fpm test --compiler gfortran-14