Skip to content

Update test-2628.yml #5

Update test-2628.yml

Update test-2628.yml #5

Workflow file for this run

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