.github: run unit tests after build #73
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Reggie Regression | |
on: | |
push: | |
branches: | |
- '*' | |
pull_request: | |
branches: | |
- '*' | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Regression Testing | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'true' | |
- name: Set Build Variables | |
id: vars | |
run: | | |
target=x86_64 | |
echo "dir=infix-$target" >> $GITHUB_OUTPUT | |
echo "tgz=infix-$target.tar.gz" >> $GITHUB_OUTPUT | |
- name: Restore Cache of dl/ | |
uses: actions/cache@v3 | |
with: | |
path: dl/ | |
key: dl-x86_64-netconf-${{ hashFiles('.git/modules/buildroot/refs/heads/master', 'package/*/*.hash') }} | |
restore-keys: | | |
dl-x86_64-netconf- | |
dl-x86_64- | |
dl- | |
- name: Restore Cache of .ccache/ | |
uses: actions/cache@v3 | |
with: | |
path: .ccache/ | |
key: ccache-x86_64-netconf-${{ hashFiles('.git/modules/buildroot/refs/head/master', 'package/*/*.hash') }} | |
restore-keys: | | |
ccache-x86_64-netconf- | |
ccache-x86_64- | |
ccache- | |
- name: Configure NETCONF | |
run: | | |
make x86_64_defconfig | |
- name: Build | |
run: | | |
make | |
- name: Prepare Artifact | |
run: | | |
cd output | |
mv images ${{ steps.vars.outputs.dir }} | |
ln -s ${{ steps.vars.outputs.dir }} images | |
tar cfz ${{ steps.vars.outputs.tgz }} ${{ steps.vars.outputs.dir }} | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
path: output/${{ steps.vars.outputs.tgz }} | |
# TODO: Ideally, this should be executed before building, but due to how | |
# the containers are currenly designed we will postpone this with a TODO. | |
- name: Unit Test | |
working-directory: ${{ github.workspace }} | |
run: | | |
echo "workspace: ${{ github.workspace }} pwd: $PWD" | |
make test-unit | |
- name: Regression Test | |
run: make test-qeneth | |
- name: Publish Test Result | |
# Ensure this runs even if Regression Test fails | |
if: always() | |
run: cat test/.log/last/result-gh.md >> $GITHUB_STEP_SUMMARY |