cmake-action/.github/workflows/test.yml
2023-06-29 19:20:09 +07:00

106 lines
2.8 KiB
YAML

name: test
on:
workflow_dispatch:
pull_request:
push:
branches: [latest, main]
jobs:
default-usage:
runs-on: ${{ matrix.os }}-latest
strategy:
matrix:
os: [windows, ubuntu, macos]
steps:
- name: Check out this repository
uses: actions/checkout@v3.5.3
- name: Move test project to the working directory
run: mv test/* .
- name: Use this action
uses: ./
with:
run-build: true
- name: Run the build result
run: ${{ matrix.os == 'windows' && 'build\Debug\hello_world.exe' || 'build/hello_world' }}
specified-dir-usage:
runs-on: ubuntu-latest
steps:
- name: Check out this repository
uses: actions/checkout@v3.5.3
- name: Use this action with specified directories
uses: ./
with:
source-dir: test
build-dir: output
run-build: true
run-test: true
test-args: -R hello_world
- name: Check if the default build directory does not exist
run: test ! -d build && test ! -d test/build
additional-flags-usage:
runs-on: ${{ matrix.compiler == 'msvc' && 'windows' || 'ubuntu' }}-latest
strategy:
matrix:
compiler: [gcc, msvc]
steps:
- name: Check out this repository
uses: actions/checkout@v3.5.3
- name: Use this action with additional compiler flags
uses: ./
with:
source-dir: test
targets: test_c test_cpp
c-flags: ${{ matrix.compiler == 'msvc' && '/w /WX-' || '-Wno-unused-variable' }}
cxx-flags: ${{ matrix.compiler == 'msvc' && '/w /WX-' || '-Wno-unused-variable' }}
args: -D CHECK_SURPASS_WARNING=ON
run-build: true
run-test: true
test-args: -R test ${{ matrix.compiler == 'msvc' && '-C Debug' || '' }}
specified-compiler-usage:
runs-on: ${{ matrix.os }}-latest
strategy:
matrix:
os: [windows, ubuntu, macos]
steps:
- name: Check out this repository
uses: actions/checkout@v3.5.3
- name: Use this action with specified compilers
uses: ./
with:
source-dir: test
targets: test_c test_cpp
generator: Ninja
c-compiler: clang
cxx-compiler: clang++
args: -D CHECK_USING_CLANG=ON
run-build: true
run-test: true
test-args: -R test
specified-generator-usage:
runs-on: ${{ matrix.os }}-latest
strategy:
matrix:
os: [windows, ubuntu, macos]
steps:
- name: Check out this repository
uses: actions/checkout@v3.5.3
- name: Use this action with a specified generator
uses: ./
with:
source-dir: test
generator: Ninja
run-build: true
run-test: true
test-args: -R hello_world