Skip to content

Commit

Permalink
Fix nasa#212, Add unit test workflow
Browse files Browse the repository at this point in the history
Splits build-run job into two separate jobs, adds test and converage job
  • Loading branch information
chillfig committed Mar 24, 2022
1 parent dafc8ae commit 836d63d
Showing 1 changed file with 76 additions and 3 deletions.
79 changes: 76 additions & 3 deletions .github/workflows/build-cfs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@ on:
env:
SIMULATION: native
OMIT_DEPRECATED: true
ENABLE_UNIT_TESTS: false
ENABLE_UNIT_TESTS: true
CTEST_OUTPUT_ON_FAILURE: true
REPO_NAME: ${{ github.event.repository.name }}

jobs:
#Checks for duplicate actions. Skips push actions if there is a matching or duplicate pull-request action.
check-for-duplicates:
runs-on: ubuntu-latest
runs-on: ubuntu-18.04
# Map a step output to a job output
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
Expand All @@ -25,13 +27,30 @@ jobs:
skip_after_successful_duplicate: 'true'
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]'

build-run:
build-cf-omit-deprecated-true:
name: Build
needs: check-for-duplicates
if: ${{ needs.check-for-duplicates.outputs.should_skip != 'true' }}
runs-on: ubuntu-18.04
timeout-minutes: 15

strategy:
fail-fast: false
matrix:
buildtype: [debug, release]

# Set the type of machine to run on
env:
BUILDTYPE: ${{ matrix.buildtype }}

steps:
- name: Cache Source and Build
id: cache-src-bld
uses: actions/cache@v2
with:
path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/*
key: build-${{ github.run_number }}-${{ matrix.buildtype }}

- name: Checkout bundle
uses: actions/checkout@v2
with:
Expand Down Expand Up @@ -60,6 +79,28 @@ jobs:

- name: Make Install
run: make install

run-cf-omit-deprecated-true:
name: Run
needs: build-cf-omit-deprecated-true
runs-on: ubuntu-18.04

strategy:
fail-fast: false
matrix:
buildtype: [debug, release]

# Set the type of machine to run on
env:
BUILDTYPE: ${{ matrix.buildtype }}

steps:
- name: Cache Source and Build
id: cache-src-bld
uses: actions/cache@v2
with:
path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/*
key: build-${{ github.run_number }}-${{ matrix.buildtype }}

- name: Run cFS
run: |
Expand All @@ -83,4 +124,36 @@ jobs:
exit -1
fi
working-directory: ./build/exe/cpu1/

tests-and-coverage-omit-deprecated-true:
name: Run Unit Tests and Check Coverage
needs: run-cf-omit-deprecated-true
runs-on: ubuntu-18.04

strategy:
fail-fast: false
matrix:
buildtype: [debug, release]

# Set the type of machine to run on
env:
BUILDTYPE: ${{ matrix.buildtype }}
ENABLE_UNIT_TESTS: true

steps:
- name: Install Dependencies
run: sudo apt-get install lcov -y

- name: Cache Source and Build
id: cache-src-bld
uses: actions/cache@v2
with:
path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/*
key: build-${{ github.run_number }}-${{ matrix.buildtype }}

- name: Run Tests
run: make test

- name: Check Coverage
run: make lcov

0 comments on commit 836d63d

Please sign in to comment.