libx52/.github/workflows/build.yml

54 lines
1.5 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
- name: Generate Doxygen documentation
uses: mattnotmitt/doxygen-action@v1
if: ${{ matrix.os == 'ubuntu-20.04' && matrix.cc == 'gcc' }}
with:
working-directory: './build'
- name: Deploy generated documentation to Github pages
uses: peaceiris/actions-gh-pages@v3
if: ${{ matrix.os == 'ubuntu-20.04' && matrix.cc == 'gcc' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build/docs