[push] maintainer/cyan #98
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
name: Build Binaries | |
run-name: '[${{ github.event_name }}] ${{ github.ref_name }}' | |
# When is the workflow actually triggerd | |
on: | |
# Manually triggered | |
workflow_dispatch: | |
push: | |
branches: | |
paths-ignore: | |
- 'docs/**' | |
- '*.md' | |
pull_request: | |
branches: | |
paths-ignore: | |
- 'docs/**' | |
- '*.md' | |
# Full concurrent | |
concurrency: | |
group: ${{ github.workflow }} | |
cancel-in-progress: true | |
# Maight be set dynamically | |
env: | |
debug: release | |
jobs: | |
# Scan the working directory to trigger build based on | |
# the latest change that have been made to the repo | |
paths-filter: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dorny/paths-filter@v3 | |
id: changes | |
with: | |
ref: ${{ github.ref }} | |
filters: | | |
qemu: | |
- 'qemu/**' | |
- 'build' | |
flexus: | |
- 'flexus/**' | |
- 'build' | |
outputs: | |
qemu: ${{ steps.changes.outputs.qemu }} | |
flexus: ${{ steps.changes.outputs.flexus }} | |
# Build the Kraken if their files have been modified | |
build_simulator: | |
name: Build Simulators | |
needs: paths-filter | |
if: ${{ (needs.paths-filter.outputs.flexus == 'true') }} | |
env: | |
CC: gcc-13 | |
CXX: g++-13 | |
strategy: | |
fail-fast: false | |
matrix: | |
binaries: | |
- keenkraken | |
- knottykraken | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout QFlex | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11.9' | |
- name: Install conan | |
run: pip install conan | |
- name: Detect current environmment profile | |
run: conan profile detect --force | |
- name: Build | |
run: ./build ${{ matrix.binaries }} ${{ env.debug }} | |
# Build QEMU only | |
build_qemu: | |
name: Build Qemu | |
needs: paths-filter | |
if: ${{ (needs.paths-filter.outputs.qemu == 'true') }} | |
runs-on: ubuntu-latest | |
container: | |
image: birate/qflex-builder:2024.04 | |
steps: | |
- name: Checkout QFlex | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Build | |
run: ./build cq ${{ env.debug }} |