diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..0adece5 --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,33 @@ +name: CI + +on: [push, pull_request] + +jobs: + Build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [macos-12, 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: 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 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