krata: rework cross-compilation

This commit is contained in:
Alex Zenla
2024-03-21 21:31:10 +00:00
parent 332a1bba26
commit 0191e5b2c1
27 changed files with 321 additions and 131 deletions

View File

@ -2,24 +2,45 @@ name: check
on: [push, pull_request]
jobs:
build:
name: cargo build
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- x86_64
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: cargo build ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: ./hack/ci/install-deps.sh
- run: ./hack/build/cargo.sh build
test:
name: cargo test
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- x86_64
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: cargo test ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: ./hack/ci/install-deps.sh
- run: ./hack/build/cargo.sh test
clippy:
name: cargo clippy
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- x86_64
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: cargo clippy ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
@ -27,6 +48,23 @@ jobs:
components: clippy
- run: ./hack/ci/install-deps.sh
- run: ./hack/build/cargo.sh clippy
initrd:
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- x86_64
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: initrd ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: "${{ matrix.arch }}-unknown-linux-gnu,${{ matrix.arch }}-unknown-linux-musl"
- run: ./hack/ci/install-deps.sh
- run: ./hack/initrd/build.sh
fmt:
name: cargo fmt
runs-on: ubuntu-latest
@ -37,16 +75,6 @@ jobs:
components: rustfmt
- run: ./hack/ci/install-deps.sh
- run: ./hack/build/cargo.sh fmt --all -- --check
initrd:
name: initrd
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: "x86_64-unknown-linux-gnu,x86_64-unknown-linux-musl"
- run: ./hack/ci/install-deps.sh
- run: ./hack/initrd/build.sh
shellcheck:
name: shellcheck
runs-on: ubuntu-latest

View File

@ -10,10 +10,18 @@ on:
- "hack/ci/**"
jobs:
build:
name: build
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- x86_64
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: build ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: ./hack/ci/install-deps.sh
- run: ./hack/kernel/build.sh
env:

View File

@ -5,43 +5,50 @@ on:
- cron: "0 10 * * *"
jobs:
build:
name: build
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- x86_64
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: build ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: "x86_64-unknown-linux-gnu,x86_64-unknown-linux-musl"
targets: "${{ matrix.arch }}-unknown-linux-gnu,${{ matrix.arch }}-unknown-linux-musl"
- run: ./hack/ci/install-deps.sh
- run: ./hack/dist/bundle.sh
env:
KRATA_KERNEL_BUILD_JOBS: "5"
- uses: actions/upload-artifact@v4
with:
name: krata-bundle-systemd-x86_64
path: "target/dist/bundle-systemd.tgz"
name: krata-bundle-systemd-${{ matrix.arch }}
path: "target/dist/bundle-systemd-${{ matrix.arch }}.tgz"
compression-level: 0
- run: ./hack/dist/deb.sh
env:
KRATA_KERNEL_BUILD_SKIP: "1"
- uses: actions/upload-artifact@v4
with:
name: krata-debian-x86_64
path: "target/dist/*_amd64.deb"
name: krata-debian-${{ matrix.arch }}
path: "target/dist/*.deb"
compression-level: 0
- run: ./hack/dist/apk.sh
env:
KRATA_KERNEL_BUILD_SKIP: "1"
- uses: actions/upload-artifact@v4
with:
name: krata-alpine-x86_64
path: "target/dist/*_x86_64.apk"
name: krata-alpine-${{ matrix.arch }}
path: "target/dist/*_${{ matrix.arch }}.apk"
compression-level: 0
- run: ./hack/os/build.sh
env:
KRATA_KERNEL_BUILD_SKIP: "1"
- uses: actions/upload-artifact@v4
with:
name: krata-os-x86_64
path: "target/os/krata.qcow2"
name: krata-os-${{ matrix.arch }}
path: "target/os/krata-${{ matrix.arch }}.qcow2"
compression-level: 0

View File

@ -12,19 +12,26 @@ on:
- "hack/ci/**"
jobs:
build:
name: build
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- x86_64
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: build ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: "x86_64-unknown-linux-gnu,x86_64-unknown-linux-musl"
targets: "${{ matrix.arch }}-unknown-linux-gnu,${{ matrix.arch }}-unknown-linux-musl"
- run: ./hack/ci/install-deps.sh
- run: ./hack/os/build.sh
env:
KRATA_KERNEL_BUILD_JOBS: "5"
- uses: actions/upload-artifact@v4
with:
name: krata-os-x86_64
path: "target/os/krata.qcow2"
name: krata-os-${{ matrix.arch }}
path: "target/os/krata-${{ matrix.arch }}.qcow2"
compression-level: 0