mirror of
https://github.com/threeal/cmake-action.git
synced 2025-04-22 11:31:21 +00:00
173 lines
4.1 KiB
YAML
173 lines
4.1 KiB
YAML
name: Test
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
push:
|
|
branches: [main]
|
|
jobs:
|
|
test-package:
|
|
name: Test Package
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4.1.7
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4.0.3
|
|
with:
|
|
node-version: latest
|
|
|
|
- name: Setup Yarn
|
|
uses: threeal/setup-yarn-action@v2.0.0
|
|
with:
|
|
version: stable
|
|
|
|
- name: Test Package
|
|
run: yarn test
|
|
|
|
test-action:
|
|
name: Test Action
|
|
runs-on: ${{ matrix.os }}-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [windows, ubuntu, macos]
|
|
steps:
|
|
- name: Checkout Project
|
|
uses: actions/checkout@v4.1.7
|
|
with:
|
|
repository: threeal/cpp-starter
|
|
ref: v1.0.0
|
|
|
|
- name: Checkout Action
|
|
uses: actions/checkout@v4.1.7
|
|
with:
|
|
path: cmake-action
|
|
sparse-checkout: |
|
|
action.yml
|
|
dist
|
|
sparse-checkout-cone-mode: false
|
|
|
|
- name: Configure and Build Project
|
|
id: cmake-action
|
|
uses: ./cmake-action
|
|
|
|
- name: Run Project
|
|
run: ${{ steps.cmake-action.outputs.build-dir }}/${{ matrix.os == 'windows' && 'Debug/generate_sequence.exe' || 'generate_sequence' }} 5
|
|
|
|
test-action-with-specified-dirs:
|
|
name: Test Action With Specified Directories
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Project
|
|
uses: actions/checkout@v4.1.7
|
|
with:
|
|
repository: threeal/cpp-starter
|
|
ref: v1.0.0
|
|
path: project
|
|
|
|
- name: Checkout Action
|
|
uses: actions/checkout@v4.1.7
|
|
with:
|
|
path: cmake-action
|
|
sparse-checkout: |
|
|
action.yml
|
|
dist
|
|
sparse-checkout-cone-mode: false
|
|
|
|
- name: Configure and Build Project
|
|
id: cmake-action
|
|
uses: ./cmake-action
|
|
with:
|
|
source-dir: project
|
|
build-dir: output
|
|
|
|
- name: Run Project
|
|
run: output/generate_sequence 5
|
|
|
|
test-action-without-run-build:
|
|
name: Test Action Without Run Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Project
|
|
uses: actions/checkout@v4.1.7
|
|
with:
|
|
repository: threeal/cpp-starter
|
|
ref: v1.0.0
|
|
|
|
- name: Checkout Action
|
|
uses: actions/checkout@v4.1.7
|
|
with:
|
|
path: cmake-action
|
|
sparse-checkout: |
|
|
action.yml
|
|
dist
|
|
sparse-checkout-cone-mode: false
|
|
|
|
- name: Modify Project
|
|
run: echo 'invalid' >> src/main.cpp
|
|
|
|
- name: Configure Project
|
|
uses: ./cmake-action
|
|
with:
|
|
run-build: false
|
|
|
|
test-action-with-additional-options:
|
|
name: Test Action With Additional Options
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Project
|
|
uses: actions/checkout@v4.1.7
|
|
with:
|
|
repository: threeal/cpp-starter
|
|
ref: v1.0.0
|
|
|
|
- name: Checkout Action
|
|
uses: actions/checkout@v4.1.7
|
|
with:
|
|
path: cmake-action
|
|
sparse-checkout: |
|
|
action.yml
|
|
dist
|
|
sparse-checkout-cone-mode: false
|
|
|
|
- name: Configure and Build Project
|
|
uses: ./cmake-action
|
|
with:
|
|
options: BUILD_TESTING=ON
|
|
|
|
- name: Test Project
|
|
uses: threeal/ctest-action@v1.1.0
|
|
|
|
test-action-with-custom-generator:
|
|
name: Test Action With Custom Generator
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Project
|
|
uses: actions/checkout@v4.1.7
|
|
with:
|
|
repository: threeal/cpp-starter
|
|
ref: v1.0.0
|
|
|
|
- name: Checkout Action
|
|
uses: actions/checkout@v4.1.7
|
|
with:
|
|
path: cmake-action
|
|
sparse-checkout: |
|
|
action.yml
|
|
dist
|
|
sparse-checkout-cone-mode: false
|
|
|
|
- name: Setup Ninja
|
|
uses: seanmiddleditch/gha-setup-ninja@v5
|
|
|
|
- name: Configure Project
|
|
id: cmake-action
|
|
uses: ./cmake-action
|
|
with:
|
|
generator: Ninja
|
|
run-build: false
|
|
|
|
- name: Build Project
|
|
run: ninja -C ${{ steps.cmake-action.outputs.build-dir }}
|