name: test on: workflow_dispatch: push: jobs: use-action: runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] steps: - name: Checkout repository uses: actions/checkout@v3.3.0 - name: Move test project to the working directory run: mv test/* . - name: Use this action uses: ./ - name: Run build result run: ${{ matrix.os == 'windows-latest' && 'build\Debug\hello_world.exe' || 'build/hello_world' }} use-action-with-specified-dir: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3.3.0 - name: Use this action with specified directory uses: ./ with: source-dir: test build-dir: test/build - name: Run build result run: test/build/hello_world - name: Check if the default build directory does not exist run: test ! -d build use-action-with-specified-compiler: runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] steps: - name: Checkout repository uses: actions/checkout@v3.3.0 - name: Use this action with specified compiler uses: ./ with: source-dir: test c-compiler: clang cxx-compiler: clang++ args: | -D BUILD_C=ON -D BUILD_CXX=ON - name: Run build result run: | {{ matrix.os == 'windows-latest' && 'build\Debug\hello_world.exe' || 'build/hello_world' }} {{ matrix.os == 'windows-latest' && 'build\Debug\hello_world_c.exe' || 'build/hello_world_c' }} use-action-with-specified-generator: runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] steps: - name: Checkout repository uses: actions/checkout@v3.3.0 - name: Use this action with specified generator uses: ./ with: source-dir: test generator: Ninja - name: Run build result run: build/hello_world