Files
cproject/.gitea/workflows/ci.yml
Brock Allen 47f4cab308
All checks were successful
ci / docker-build-and-test (pull_request) Successful in 7m13s
fix: fix cache-to
2024-03-04 06:56:17 +00:00

70 lines
2.2 KiB
YAML

name: ci
on:
pull_request:
push:
branches:
- main
schedule:
- cron: '0 1 * * 0'
jobs:
docker-build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
-
name: Create docker cache folder
run: mkdir -p /tmp/docker
-
name: Build docker builder-image
uses: docker/build-push-action@v4
with:
context: .
file: builder.Dockerfile
tags: cproject-builder:latest
push: false
load: true
cache-from: type=local,src=/tmp/docker/${{ runner.os }}-builder-image.tar
cache-to: type=local,dest=/tmp/docker/${{ runner.os }}-builder-image.tar
-
name: Upload docker image
uses: actions/upload-artifact@v3
with:
name: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }}
path: /tmp/docker/${{ runner.os }}-builder-image.tar
retention-days: 3
-
name: Build library
uses: https://github.com/addnab/docker-run-action@v3
with:
image: cproject-builder:latest
options: --volumes-from ${{ env.JOB_CONTAINER_NAME }}
run: |
/bin/bash -c "cd ${{ github.workspace }}; rm -rf build; cmake -B build; cmake --build build"
-
name: Test library
uses: https://github.com/addnab/docker-run-action@v3
with:
image: cproject-builder:latest
options: --volumes-from ${{ env.JOB_CONTAINER_NAME }}
run: |
/bin/bash -c "cd ${{ github.workspace }}/tests/unittest; ceedling clobber; ceedling gcov:all; ceedling utils:gcov"
-
name: Archive coverage results
shell: bash
run: |
staging="reports-${{github.run_number}}"
mkdir -p "$staging"
cp -r tests/unittest/build/artifacts/gcov "$staging"
tar czf "$staging.tar.gz" "$staging"
echo "ASSET=$staging.tar.gz" >> $GITHUB_ENV
-
name: Archive artifacts
uses: actions/upload-artifact@v3
with:
name: reports-${{github.run_number}}
path: ${{ env.ASSET }}
retention-days: 3