Skip to content

Update build-and-test.yml #249

Update build-and-test.yml

Update build-and-test.yml #249

name: Build and Test
on:
push:
branches: [ master, develop, release ]
pull_request:
branches: [ master, develop, release ]
env:
OMP_NUM_THREADS: 1
BUILD_HOME: build
TEST_HOME: nrtests
PACKAGE_NAME: vcpkg-export-20240724-151754.1.0.0
PKG_NAME: vcpkg-export-20240724-151754
jobs:
unit_test:
name: Build and unit test
runs-on: windows-2019
environment: testing
defaults:
run:
shell: cmd
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Install boost-test
env:
REMOTE_STORE: "https://nuget.pkg.github.com/USEPA/index.json"
USERNAME: michaeltryby
run: |
nuget sources add -Name github -Source ${{ env.REMOTE_STORE }} -Username ${{ env.USERNAME }} -Password ${{ secrets.ACCESS_TOKEN }}
nuget install ${{env.PKG_NAME}} -Source github
- name: Build
env:
TOOL_CHAIN_PATH: \scripts\buildsystems\vcpkg.cmake
run: |
cmake -B.\build -DBUILD_TESTS=ON -DCMAKE_TOOLCHAIN_FILE=.\${{env.PACKAGE_NAME}}${{env.TOOL_CHAIN_PATH}} .
cmake --build .\build --config DEBUG
- name: Unit Test
run: ctest --test-dir .\build -C Debug --output-on-failure
reg_test:
name: Build and reg test
runs-on: windows-2019
defaults:
run:
shell: cmd
working-directory: ci-tools/windows
steps:
- name: Checkout swmm repo
uses: actions/checkout@v3
- name: Checkout ci-tools repo
uses: actions/checkout@v3
with:
repository: USEPA/swmm-ci-tools
ref: master
path: ci-tools
- name: Setup python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install requirements
run: |
python -m pip install --upgrade pip
python -m pip install -r requirements-swmm.txt
- name: Build
run: make.cmd /g "Visual Studio 16 2019"
- name: Before reg test
env:
NRTESTS_URL: https://github.com/USEPA/swmm-nrtestsuite
BENCHMARK_TAG: v2.5.0-dev
run: before-nrtest.cmd ${{ env.BENCHMARK_TAG }}
- name: Run reg test
run: run-nrtests.cmd %GITHUB_RUN_ID%_%GITHUB_RUN_NUMBER%
- name: Upload artifacts
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: build-test-artifacts
path: upload/*.*