Skip to content

Quick Build and Check #48

Quick Build and Check

Quick Build and Check #48

Workflow file for this run

# .github/workflows/quick.yaml
name: Quick Build and Check
on:
workflow_dispatch:
inputs:
save:
description: Save Results
type: boolean
defaults:
run: { shell: bash }
jobs:
build:
name: Build and Check on Ubuntu ${{matrix.compiler.os}}${{matrix.arch}} with ${{matrix.compiler.label}}
strategy:
fail-fast: FALSE
matrix: # exactly 20 variants
arch: [
'', -arm ]
compiler:
- { label: gcc10, os: '22.04', gcc: gcc-10, gxx: g++-10 }
- { label: gcc11, os: '22.04', gcc: gcc, gxx: g++ }
- { label: gcc12, os: '24.04', gcc: gcc-12, gxx: g++-12 }
- { label: gcc13, os: '24.04', gcc: gcc, gxx: g++ }
- { label: gcc14, os: '24.04', gcc: gcc-14, gxx: g++-14 }
- { label: clang14, os: '22.04', gcc: clang, gxx: clang++ }
- { label: clang15, os: '22.04', gcc: clang-15, gxx: clang++-15 }
- { label: clang16, os: '24.04', gcc: clang-16, gxx: clang++-16 }
- { label: clang17, os: '24.04', gcc: clang-17, gxx: clang++-17 }
- { label: clang18, os: '24.04', gcc: clang, gxx: clang++ }
runs-on: ubuntu-${{matrix.compiler.os}}${{matrix.arch}}
steps:
- name: Machine Information
run: |
exec 2>&1
set -x
lscpu; free -h; df -H .
- name: System Information
run: |
exec 2>&1
date; uname -a; uptime
set -x
systemd-detect-virt || :
cat /etc/os-release
ls -C /boot || :
- name: Context Information
run: |
exec 2>&1
tty || :; id; printf -- %s\\n SHELL="$SHELL" PATH="$PATH"
set -x
pwd
ps -e --sort ppid,pid -o ppid,pid,user:12,group:12,comm:24,rsz:11,vsz:11,thcount,bsdstart,state,tname
- name: Build Tools Information
run: |
exec 2>&1
make --version; ${{matrix.compiler.gcc}} --version
- name: Checkout
uses: actions/checkout@v4
with: { ref: master }
- name: Run Make
run: |
exec 2>&1
set -x
make -{j4,Otarget} GCC=${{matrix.compiler.gcc}} GXX=${{matrix.compiler.gxx}}
- name: Run Quick Check
run: |
exec 2>&1
make -{j4,Otarget} GCC=${{matrix.compiler.gcc}} GXX=${{matrix.compiler.gxx}} run
- name: Upload Results
if: (inputs.save)
uses: actions/upload-artifact@v4
with:
name: build-${{matrix.compiler.label}}-${{matrix.compiler.os}}${{matrix.arch}}
path: build
# References:
# https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax
# https://docs.github.com/en/actions/reference/workflows-and-actions/expressions
# https://docs.github.com/en/actions/reference/workflows-and-actions/contexts
# https://github.com/actions/checkout
# https://github.com/actions/upload-artifact
# https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md
# https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
# https://github.com/actions/partner-runner-images/blob/main/images/arm-ubuntu-22-image.md
# https://github.com/actions/partner-runner-images/blob/main/images/arm-ubuntu-24-image.md