2025-02-16 12:20:48 +01:00
|
|
|
---
|
|
|
|
name: build
|
2025-02-16 12:15:45 +01:00
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
2025-02-16 12:23:16 +01:00
|
|
|
branches: [master]
|
2025-02-16 12:15:45 +01:00
|
|
|
pull_request:
|
2025-02-16 12:23:16 +01:00
|
|
|
branches: [master]
|
2025-02-16 12:15:45 +01:00
|
|
|
|
|
|
|
workflow_dispatch:
|
|
|
|
|
|
|
|
jobs:
|
2025-02-16 12:24:13 +01:00
|
|
|
default:
|
2025-02-16 12:15:45 +01:00
|
|
|
runs-on: ubuntu-latest
|
2025-02-16 12:24:13 +01:00
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
compiler: [gcc, clang]
|
|
|
|
buildtype: [debug, release]
|
|
|
|
container:
|
2025-02-16 12:24:54 +01:00
|
|
|
image: ghcr.io/igaw/linux-nvme/debian.python:latest
|
2025-02-16 12:23:16 +01:00
|
|
|
steps:
|
2025-02-16 12:24:54 +01:00
|
|
|
- uses: actions/checkout@v4
|
2025-02-16 12:24:13 +01:00
|
|
|
- name: build
|
|
|
|
run: |
|
|
|
|
scripts/build.sh -b ${{ matrix.buildtype }} -c ${{ matrix.compiler }}
|
2025-02-16 12:23:16 +01:00
|
|
|
- uses: actions/upload-artifact@v3
|
2025-02-16 12:24:13 +01:00
|
|
|
name: upload logs
|
2025-02-16 12:23:16 +01:00
|
|
|
if: failure()
|
|
|
|
with:
|
2025-02-16 12:24:13 +01:00
|
|
|
name: logs files
|
2025-02-16 12:23:16 +01:00
|
|
|
path: |
|
2025-02-16 12:24:13 +01:00
|
|
|
.build-ci/meson-logs/*.txt
|
2025-02-16 12:15:45 +01:00
|
|
|
|
2025-02-16 12:24:13 +01:00
|
|
|
cross:
|
2025-02-16 12:23:16 +01:00
|
|
|
runs-on: ubuntu-latest
|
2025-02-16 12:24:13 +01:00
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
include:
|
|
|
|
- arch: armhf
|
|
|
|
- arch: s390x
|
|
|
|
- arch: ppc64le
|
2025-02-16 12:15:45 +01:00
|
|
|
steps:
|
2025-02-16 12:24:54 +01:00
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: enable foreign arch
|
|
|
|
uses: dbhi/qus/action@main
|
|
|
|
- name: compile and run unit tests
|
|
|
|
uses: mosteo-actions/docker-run@v1
|
|
|
|
with:
|
|
|
|
image: ghcr.io/igaw/linux-nvme/ubuntu-cross-${{ matrix.arch }}:latest
|
|
|
|
guest-dir: /build
|
|
|
|
host-dir: ${{ github.workspace }}
|
|
|
|
command: |
|
|
|
|
scripts/build.sh -b release -c gcc -t ${{ matrix.arch }} cross
|
|
|
|
params: "--platform linux/amd64"
|
|
|
|
pull-params: "--platform linux/amd64"
|
2025-02-16 12:18:36 +01:00
|
|
|
- uses: actions/upload-artifact@v3
|
2025-02-16 12:24:13 +01:00
|
|
|
name: upload logs
|
2025-02-16 12:18:36 +01:00
|
|
|
if: failure()
|
|
|
|
with:
|
2025-02-16 12:23:16 +01:00
|
|
|
name: log files
|
|
|
|
path: |
|
2025-02-16 12:24:13 +01:00
|
|
|
.build-ci/meson-logs/*.txt
|
2025-02-16 12:18:36 +01:00
|
|
|
|
2025-02-16 12:24:13 +01:00
|
|
|
fallback-shared-libraries:
|
|
|
|
name: fallback shared libraries
|
2025-02-16 12:16:19 +01:00
|
|
|
runs-on: ubuntu-latest
|
2025-02-16 12:24:13 +01:00
|
|
|
container:
|
2025-02-16 12:24:54 +01:00
|
|
|
image: ghcr.io/igaw/linux-nvme/debian:latest
|
2025-02-16 12:24:13 +01:00
|
|
|
if: github.ref == 'refs/heads/master'
|
2025-02-16 12:16:19 +01:00
|
|
|
steps:
|
2025-02-16 12:24:54 +01:00
|
|
|
- uses: actions/checkout@v4
|
2025-02-16 12:24:13 +01:00
|
|
|
- name: build
|
|
|
|
run: |
|
|
|
|
scripts/build.sh -b release -c gcc fallback
|
2025-02-16 12:23:16 +01:00
|
|
|
- uses: actions/upload-artifact@v3
|
|
|
|
if: failure()
|
|
|
|
with:
|
|
|
|
name: log files
|
|
|
|
path: |
|
2025-02-16 12:24:13 +01:00
|
|
|
.build-ci/meson-logs/*.txt
|
2025-02-16 12:16:19 +01:00
|
|
|
|
2025-02-16 12:24:13 +01:00
|
|
|
build-muon:
|
|
|
|
name: muon minimal static
|
2025-02-16 12:16:19 +01:00
|
|
|
runs-on: ubuntu-latest
|
2025-02-16 12:24:13 +01:00
|
|
|
container:
|
2025-02-16 12:24:54 +01:00
|
|
|
image: ghcr.io/igaw/linux-nvme/debian:latest
|
2025-02-16 12:16:19 +01:00
|
|
|
steps:
|
2025-02-16 12:24:54 +01:00
|
|
|
- uses: actions/checkout@v4
|
2025-02-16 12:23:16 +01:00
|
|
|
- name: build
|
|
|
|
run: |
|
2025-02-16 12:24:13 +01:00
|
|
|
scripts/build.sh -m muon
|