test pre-commit #154
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This file is a part of Simple-XX/SimpleKernel | |
# (https://github.com/Simple-XX/SimpleKernel). | |
# | |
# workflow.yml for Simple-XX/SimpleKernel. | |
name: build | |
on: | |
- push | |
- pull_request | |
- release | |
env: | |
CMAKE_BUILD_TYPE: Release | |
jobs: | |
build_ubuntu: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
packages: read | |
statuses: write | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: | | |
sudo apt update --fix-missing -y | |
sudo apt upgrade --fix-missing -y | |
sudo apt install --fix-missing -y gcc g++ gcc-riscv64-linux-gnu g++-riscv64-linux-gnu gcc-aarch64-linux-gnu g++-aarch64-linux-gnu | |
sudo apt install --fix-missing -y cmake qemu-system gdb-multiarch | |
sudo apt install --fix-missing -y doxygen graphviz | |
sudo apt install --fix-missing -y clang-format clang-tidy cppcheck libgtest-dev lcov | |
git submodule update --init --recursive | |
- name: x86_64 | |
run: | | |
cmake --preset=build_x86_64 | |
cmake --build build_x86_64 --target boot | |
cmake --build build_x86_64 --target kernel | |
cmake --build build_x86_64 --target unit-test | |
cmake --build build_x86_64 --target coverage | |
- name: riscv64 | |
run: | | |
cmake --preset=build_riscv64 | |
cmake --build build_riscv64 --target kernel | |
- name: aarch64 | |
run: | | |
cmake --preset=build_aarch64 | |
cmake --build build_aarch64 --target boot | |
cmake --build build_aarch64 --target kernel | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
files: build_x86_64/coverage/coverage.info | |
verbose: true | |
- name: Build Doc | |
if: github.ref == 'refs/heads/main' | |
run: | | |
cmake --preset=build_x86_64 | |
cmake --build build_x86_64 --target doc | |
- name: Publish | |
if: github.ref == 'refs/heads/main' | |
uses: peaceiris/actions-gh-pages@v3 | |
with: | |
github_token: ${{secrets.GITHUB_TOKEN}} | |
publish_dir: ${{github.workspace}}/doc/html | |
- name: Super-Linter | |
uses: super-linter/[email protected] | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} |