Update test-2628.yml #5
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: Build app target | |
on: | |
push: | |
workflow_dispatch: | |
# Force bash to apply pipefail option so pipeline failures aren't masked | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
# Checks for duplicate actions. Skips push actions if there is a matching or | |
# duplicate pull-request action. | |
checks-for-duplicates: | |
runs-on: ubuntu-latest | |
# Map a step output to a job output | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@master | |
with: | |
concurrent_skipping: 'same_content' | |
skip_after_successful_duplicate: 'true' | |
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]' | |
build-app-target: | |
needs: checks-for-duplicates | |
if: ${{ needs.checks-for-duplicates.outputs.should_skip != 'true' || contains(github.ref, 'main') }} | |
name: Build, run unit tests and enforce coverage | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Install coverage tools | |
run: sudo apt-get install lcov -y | |
- name: Set up environment variables | |
# Apps typically use lowercase targets and uppercase names, this logic is fragile but works | |
run: | | |
echo "APP_UPPER=$(echo SC | sed 's/[a-z]/\U&/g')" >> $GITHUB_ENV | |
echo "APP_LOWER=$(echo SC | sed 's/[A-Z]/\L&/g')" >> $GITHUB_ENV | |
- name: Checkout Bundle Main | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
repository: nasa/cFS | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
with: | |
path: apps/${{ env.APP_LOWER }} | |
- name: Copy Files | |
run: | | |
cp ./cfe/cmake/Makefile.sample Makefile | |
cp -r ./cfe/cmake/sample_defs sample_defs | |
- name: Edit cFE | |
run: | | |
sed -i '/#include "cfe_tbl_fcncodes.h"/a #include "cfe_tbl_extern_typedefs.h"' cfe/modules/tbl/config/default_cfe_tbl_msgdefs.h | |
- name: Add Repo To Build | |
run: | | |
sed -i "/list(APPEND MISSION_GLOBAL_APPLIST/a list(APPEND MISSION_GLOBAL_APPLIST $APP_LOWER)" sample_defs/targets.cmake | |
- name: Make Prep | |
run: make SIMULATION=native ENABLE_UNIT_TESTS=true OMIT_DEPRECATED=true prep | |
- name: Build app build dependencies | |
run: make -C build/tools/elf2cfetbl | |
- name: Build app target | |
run: | | |
make -C build/native/default_cpu1/apps/$APP_LOWER |