|
@@ -0,0 +1,56 @@
|
|
|
+name: Generate a coverage report and publish it to GitHub pages
|
|
|
+
|
|
|
+on:
|
|
|
+ # Runs on pushes targeting the default branch
|
|
|
+ push:
|
|
|
+ branches: ["main"]
|
|
|
+
|
|
|
+ # Allows you to run this workflow manually from the Actions tab
|
|
|
+ workflow_dispatch:
|
|
|
+
|
|
|
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
|
|
+permissions:
|
|
|
+ contents: read
|
|
|
+ pages: write
|
|
|
+ id-token: write
|
|
|
+
|
|
|
+# Allow one concurrent deployment
|
|
|
+concurrency:
|
|
|
+ group: "pages"
|
|
|
+ cancel-in-progress: true
|
|
|
+
|
|
|
+jobs:
|
|
|
+ # Build job
|
|
|
+ build:
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ timeout-minutes: 240
|
|
|
+ steps:
|
|
|
+ - name: Checkout
|
|
|
+ uses: actions/checkout@v3
|
|
|
+ - name: Setup Pages
|
|
|
+ uses: actions/configure-pages@v2
|
|
|
+ - name: Configure
|
|
|
+ run: mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DDXC_COVERAGE=On -C ${{github.workspace}}/cmake/caches/PredefinedParams -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ${{github.workspace}}
|
|
|
+ - name: Build
|
|
|
+ run: cd build && make
|
|
|
+ - name: Test
|
|
|
+ run: cd build && ctest
|
|
|
+ - name: Generate Report
|
|
|
+ run: cd build && make generate-coverage-report
|
|
|
+ - name: Upload artifact
|
|
|
+ uses: actions/upload-pages-artifact@v1
|
|
|
+ with:
|
|
|
+ path: ${{github.workspace}}/build/report
|
|
|
+
|
|
|
+
|
|
|
+ # Deployment job
|
|
|
+ deploy:
|
|
|
+ environment:
|
|
|
+ name: github-pages
|
|
|
+ url: ${{ steps.deployment.outputs.page_url }}
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ needs: build
|
|
|
+ steps:
|
|
|
+ - name: Deploy to GitHub Pages
|
|
|
+ id: deployment
|
|
|
+ uses: actions/deploy-pages@v1
|