name: Build package and docs, test, deploy if on main on: workflow_dispatch: push: permissions: contents: read pages: write id-token: write jobs: build: strategy: fail-fast: false matrix: platform: [ubuntu-latest, ] # macos-12, windows-2019] python-version: ["3.12",] runs-on: ${{ matrix.platform }} # The setup-miniconda action needs this to activate miniconda defaults: run: shell: "bash -l {0}" steps: - uses: actions/checkout@v4 - name: Get conda uses: conda-incubator/setup-miniconda@v3.0.4 with: python-version: ${{ matrix.python-version }} channels: conda-forge - name: Prepare run: conda install doxygen sphinx=7.1.2 breathe pybind11 sphinx_rtd_theme furo nlohmann_json zeromq fmt numpy catch2 - name: Build run: | mkdir build cd build cmake .. -DAARE_SYSTEM_LIBRARIES=ON -DAARE_TESTS=ON -DAARE_DOCS=ON make -j 2 make docs - name: Test working-directory: ${{github.workspace}}/build # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail run: ctest -C ${{env.BUILD_TYPE}} -j1 - name: Upload static files as artifact id: deployment uses: actions/upload-pages-artifact@v3 with: path: build/docs/html/ deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build if: github.ref == 'refs/heads/main' steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4