libx52/.github/workflows/build.yml

64 lines
1.7 KiB
YAML

name: Build/Test
on:
push:
branches:
- '*'
- '!gh-pages'
paths-ignore:
- 'kernel_module/**'
pull_request:
branches: [ master ]
jobs:
build:
if: "!(contains(github.event.head_commit.message, '[ci skip]') || contains(github.event.head_commit.message, '[skip ci]'))"
name: ${{ join(matrix.*, '/') }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.os == 'macos-latest' }}
env:
CC: ${{ matrix.cc }}
strategy:
matrix:
os: ['ubuntu-16.04', 'ubuntu-18.04', 'ubuntu-20.04', 'macos-latest']
cc: ['gcc', 'clang']
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install dependencies (Ubuntu)
run: ./.github/scripts/install-dependencies-ubuntu.sh
if: ${{ matrix.os != 'macos-latest' }}
- name: Install dependencies (MacOS)
run: ./.github/scripts/install-dependencies-macos.sh
if: ${{ matrix.os == 'macos-latest' }}
- name: Build and Test
run: ./.github/scripts/build-and-test.sh
doxygen:
if: "!(contains(github.event.head_commit.message, '[doxy skip]') || contains(github.event.head_commit.message, '[skip doxy]'))"
runs-on: 'ubuntu-latest'
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install dependencies
run: ./.github/scripts/install-dependencies-ubuntu.sh
- name: Generate Doxygen documentation
run: ./.github/scripts/build-doxygen.sh
- name: Dump generated files
run: find ./build -type f -print
- name: Deploy generated documentation to Github pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build/docs/html