cmake-action/.github/workflows/test.yaml
Alfi Maulana 3651db1f78
Some checks failed
Build / Build Package (push) Has been cancelled
Check / Check Package (push) Has been cancelled
Test / Test Package (push) Has been cancelled
Test / Test Action (macos-14) (push) Has been cancelled
Test / Test Action (ubuntu-24.04) (push) Has been cancelled
Test / Test Action (windows-2022) (push) Has been cancelled
Test / Test Action With Specified Directories (push) Has been cancelled
Test / Test Action Without Run Build (push) Has been cancelled
Test / Test Action With Additional Options (push) Has been cancelled
Test / Test Action With Custom Generator (push) Has been cancelled
build: setup Node.js using pnpm (#654)
Signed-off-by: Alfi Maulana <alfi.maulana.f@gmail.com>
2025-03-21 21:37:23 +07:00

169 lines
4.1 KiB
YAML

name: Test
on:
workflow_dispatch:
pull_request:
push:
branches: [main]
jobs:
test-package:
name: Test Package
runs-on: ubuntu-24.04
steps:
- name: Checkout Project
uses: actions/checkout@v4.2.2
- name: Setup pnpm
uses: threeal/setup-pnpm-action@v1.0.0
- name: Install Dependencies
run: pnpm install
- name: Test Package
run: pnpm test
test-action:
name: Test Action
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, macos-14, windows-2022]
steps:
- name: Checkout Sample Project
uses: actions/checkout@v4.2.2
with:
repository: threeal/cpp-starter
ref: v1.0.0
- name: Checkout Action
uses: actions/checkout@v4.2.2
with:
path: cmake-action
sparse-checkout: |
action.yml
dist
sparse-checkout-cone-mode: false
- name: Build Sample Project
id: cmake-action
uses: ./cmake-action
- name: Run Sample Project
run: ${{ steps.cmake-action.outputs.build-dir }}/${{ matrix.os == 'windows-2022' && 'Debug/generate_sequence.exe' || 'generate_sequence' }} 5
test-action-with-specified-dirs:
name: Test Action With Specified Directories
runs-on: ubuntu-24.04
steps:
- name: Checkout Sample Project
uses: actions/checkout@v4.2.2
with:
repository: threeal/cpp-starter
ref: v1.0.0
path: project
- name: Checkout Action
uses: actions/checkout@v4.2.2
with:
path: cmake-action
sparse-checkout: |
action.yml
dist
sparse-checkout-cone-mode: false
- name: Build Sample Project
id: cmake-action
uses: ./cmake-action
with:
source-dir: project
build-dir: output
- name: Run Sample Project
run: output/generate_sequence 5
test-action-without-run-build:
name: Test Action Without Run Build
runs-on: ubuntu-24.04
steps:
- name: Checkout Sample Project
uses: actions/checkout@v4.2.2
with:
repository: threeal/cpp-starter
ref: v1.0.0
- name: Checkout Action
uses: actions/checkout@v4.2.2
with:
path: cmake-action
sparse-checkout: |
action.yml
dist
sparse-checkout-cone-mode: false
- name: Modify Sample Project
run: echo 'invalid' >> src/main.cpp
- name: Configure Sample Project
uses: ./cmake-action
with:
run-build: false
test-action-with-additional-options:
name: Test Action With Additional Options
runs-on: ubuntu-24.04
steps:
- name: Checkout Sample Project
uses: actions/checkout@v4.2.2
with:
repository: threeal/cpp-starter
ref: v1.0.0
- name: Checkout Action
uses: actions/checkout@v4.2.2
with:
path: cmake-action
sparse-checkout: |
action.yml
dist
sparse-checkout-cone-mode: false
- name: Build Sample Project
uses: ./cmake-action
with:
options: BUILD_TESTING=ON
- name: Test Sample Project
uses: threeal/ctest-action@v1.1.0
test-action-with-custom-generator:
name: Test Action With Custom Generator
runs-on: ubuntu-24.04
steps:
- name: Checkout Sample Project
uses: actions/checkout@v4.2.2
with:
repository: threeal/cpp-starter
ref: v1.0.0
- name: Checkout Action
uses: actions/checkout@v4.2.2
with:
path: cmake-action
sparse-checkout: |
action.yml
dist
sparse-checkout-cone-mode: false
- name: Setup Ninja
uses: seanmiddleditch/gha-setup-ninja@v6
- name: Configure Sample Project
id: cmake-action
uses: ./cmake-action
with:
generator: Ninja
run-build: false
- name: Build Sample Project
run: ninja -C ${{ steps.cmake-action.outputs.build-dir }}