set variable to sanitized stuff #36
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 Live ISO images (with Katsu) | |
env: | |
DNF_PKGS: | | |
git | |
xorriso | |
rpm | |
limine | |
systemd | |
btrfs-progs | |
e2fsprogs | |
xfsprogs | |
dosfstools | |
grub2 | |
parted | |
util-linux-core | |
systemd-container | |
grub2-efi | |
uboot-images-armv8 | |
uboot-tools | |
rustc | |
qemu-user-static-aarch64 | |
qemu-user-binfmt | |
qemu-kvm | |
qemu-img | |
cargo | |
systemd-devel | |
mkpasswd | |
clang-devel | |
moby-engine | |
squashfs-tools | |
erofs-utils | |
grub2-tools | |
grub2-tools-extra | |
isomd5sum | |
on: | |
push: | |
workflow_dispatch: | |
jobs: | |
image: | |
strategy: | |
fail-fast: false | |
matrix: | |
variant: | |
- base/base-disk-x86_64 | |
- base/base-disk-aarch64 | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/terrapkg/builder:f38 | |
# Pass /dev from host to container | |
# Very hacky, but it works | |
# Microsoft/Github, if you're reading this, | |
# I'm sorry. | |
options: --privileged -v /dev:/dev | |
steps: | |
- name: Install dependencies | |
run: | | |
dnf install -y $DNF_PKGS | |
dnf clean all | |
- name: Clone Katsu | |
uses: actions/checkout@v3 | |
with: | |
repository: FyraLabs/katsu | |
ref: main | |
path: katsu | |
- name: Build Katsu | |
run: | | |
pushd katsu | |
cargo build --release | |
cp target/release/katsu /usr/bin/katsu | |
popd | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Build ISO | |
run: | | |
pushd katsu | |
katsu --output=disk-image modules/${{ matrix.variant }}.yaml | |
xz -z9 katsu-work/image/katsu.img -c > katsu-work/image/katsu-arm.img.xz | |
popd | |
- name: sanitize artifact name | |
run: | | |
name=$(echo ${{ matrix.variant }} | sed 's/\//-/g') | |
# set github variable | |
echo artifact=$name >> $GITHUB_ENV | |
- name: Upload ISO | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.artifact }}-disk | |
path: katsu/katsu-work/image/*.img.xz | |
live-iso: | |
strategy: | |
fail-fast: false | |
matrix: | |
variant: | |
- flagship/flagship-live | |
- gnome/gnome-live | |
- kde/kde-live | |
- pantheon/pantheon-live | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/terrapkg/builder:f38 | |
# Pass /dev from host to container | |
# Very hacky, but it works | |
# Microsoft/Github, if you're reading this, | |
# I'm sorry. | |
options: --privileged -v /dev:/dev | |
steps: | |
- name: Install dependencies | |
run: | | |
dnf install -y $DNF_PKGS | |
dnf clean all | |
- name: Clone Katsu | |
uses: actions/checkout@v3 | |
with: | |
repository: FyraLabs/katsu | |
ref: main | |
path: katsu | |
- name: Build Katsu | |
run: | | |
pushd katsu | |
cargo build --release | |
cp target/release/katsu /usr/bin/katsu | |
popd | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Build ISO | |
run: | | |
pushd katsu | |
katsu --output=iso modules/${{ matrix.variant }}.yaml | |
popd | |
- name: sanitize artifact name | |
run: | | |
name=$(echo ${{ matrix.variant }} | sed 's/\//-/g') | |
# set github variable | |
echo artifact=$name >> $GITHUB_ENV | |
- name: Upload ISO | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.artifact }}-live | |
path: katsu/out.iso |