diff --git a/.github/workflows/ngen_integration.yaml b/.github/workflows/ngen_integration.yaml new file mode 100644 index 00000000..e2666e8d --- /dev/null +++ b/.github/workflows/ngen_integration.yaml @@ -0,0 +1,50 @@ +name: Ngen Integration Tests + +# Controls when the action will run. +on: + push: + branches: [ master, dev, notreal ] + pull_request: + branches: [ master, dev, notreal ] + #workflow_dispatch: + workflow_call: + +env: + # Obtained from https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources + # TODO: add something later that can check the runners for hyperthreading + LINUX_NUM_PROC_CORES: 2 + MACOS_NUM_PROC_CORES: 3 + ASAN_OPTIONS: detect_leaks=false + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # Run general unit tests in linux environment + test_surfacebmi_plus_cfe: + # The type of runner that the job will run on + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + fail-fast: false + runs-on: ${{ matrix.os }} + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3 + + - name: Build Ngen + uses: NOAA-OWP/ngen/.github/actions/ngen-build/action.yaml@master + with: + repository: NOAA-OWP/ngen + path: .github/shared-actions/ngen-build/action.yaml + targets: "ngen" + build-cores: ${{ env.LINUX_NUM_PROC_CORES }} + #is this required for this test? + bmi_c: 'ON' + bmi_fortran: 'ON' + timeout-minutes: 15 + + #- name: Run surfacebmi plus cfebmi + # run: | + # inputfile='realizations/realization_cfe_pet.json' + # ./cmake_build/ngen ../../data/catchment_data.geojson "cat-27" ../../data/nexus_data.geojson "nex-26" $inputfile