mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 04:41:16 +00:00

It secures the repo against erroneous or malicious actions from external jobs you call from your workflow. It's specially important for the case they get compromised, for example.
64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
name: Github PR
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
workflow_dispatch:
|
|
permissions: read-all
|
|
jobs:
|
|
cmake-build:
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
build: [static, shared]
|
|
generator: ["Default Generator", "MinGW Makefiles"]
|
|
exclude:
|
|
- os: macos-latest
|
|
build: shared
|
|
- os: macos-latest
|
|
generator: "MinGW Makefiles"
|
|
- os: ubuntu-latest
|
|
generator: "MinGW Makefiles"
|
|
env:
|
|
YAML_BUILD_SHARED_LIBS: ${{ matrix.build == 'shared' && 'ON' || 'OFF' }}
|
|
CMAKE_GENERATOR: >-
|
|
${{format(matrix.generator != 'Default Generator' && '-G "{0}"' || '', matrix.generator)}}
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Get number of CPU cores
|
|
uses: SimenB/github-actions-cpu-cores@v1
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: |
|
|
cmake ${{ env.CMAKE_GENERATOR }} -S "${{ github.workspace }}" -B build -DYAML_BUILD_SHARED_LIBS=${{ env.YAML_BUILD_SHARED_LIBS }}
|
|
cd build && cmake --build . --parallel ${{ steps.cpu-cores.outputs.count }}
|
|
|
|
- name: Test
|
|
shell: bash
|
|
run: cd build && ctest --output-on-failure
|
|
|
|
bazel-build:
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: |
|
|
cd "${{ github.workspace }}"
|
|
bazel build :all
|
|
|
|
- name: Test
|
|
shell: bash
|
|
run: |
|
|
cd "${{ github.workspace }}"
|
|
bazel test test
|
|
|