From ddaa2084013a320130926d9c3100d6149df970cb Mon Sep 17 00:00:00 2001 From: Nikolay Govorov Date: Sun, 30 Aug 2026 03:11:19 +0100 Subject: Unify CI checks, migrate from github to gilti --- .dockerignore | 9 ++++++++ .github/workflows/build.yml | 15 +++++++++++--- .github/workflows/legal.yml | 1 + .gitignore | 2 +- .mailmap | 3 +++ Cargo.toml | 2 +- images/alpine/genimg | 14 ++++++------- images/debian/genimg | 18 +++++++++------- images/fedora/genimg | 9 +++++++- images/ubuntu/genimg | 15 ++++++++++---- mise.lock | 41 ++++++++++++++++++++++++++++++++++++- mise.toml | 8 +++----- 12 files changed, 107 insertions(+), 30 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..53e5ab1 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +# SPDX-FileCopyrightText: 2026 Nikolay Govorov +# SPDX-License-Identifier: Apache-2.0 + +.git +.github +.recluse-state +dist +target +*.lcov diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c908213..be7c3ff 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,14 +6,20 @@ name: Build on: push: branches: [main] + tags: ["v*"] pull_request: branches: [main] permissions: contents: read +concurrency: + group: hule-build-${{ github.ref }} + cancel-in-progress: true + env: CARGO_TERM_COLOR: always + RELEASE_TAG: nightly jobs: lint: @@ -28,13 +34,16 @@ jobs: experimental: true install: false - name: Install dependencies - run: mise bootstrap --locked --yes + run: mise bootstrap --locked --yes --update - uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2 - - name: Check formatting + - name: formatting run: cargo fmt --all --check - - name: Run Clippy + - name: shellcheck + run: shellcheck images/*/genimg + + - name: clippy run: cargo clippy --workspace --all-targets --all-features --release --locked -- -D warnings build: diff --git a/.github/workflows/legal.yml b/.github/workflows/legal.yml index 2886f52..b5a2fad 100644 --- a/.github/workflows/legal.yml +++ b/.github/workflows/legal.yml @@ -6,6 +6,7 @@ name: Legal on: push: branches: [main] + tags: ["v*"] pull_request: branches: [main] diff --git a/.gitignore b/.gitignore index ba46a2d..ea96d7d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,8 @@ # SPDX-FileCopyrightText: 2026 Nikolay Govorov # SPDX-License-Identifier: Apache-2.0 -/target /dist +/target mise.local.toml mise.*.local.toml diff --git a/.mailmap b/.mailmap index d8e0402..d364a7b 100644 --- a/.mailmap +++ b/.mailmap @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2026 Nikolay Govorov +# SPDX-License-Identifier: Apache-2.0 +# # Add new entries in alphabetical order Nikolay Govorov diff --git a/Cargo.toml b/Cargo.toml index 6c27a41..825ad03 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ edition = "2024" version = "0.1.0" license = "Apache-2.0" authors = ["Nikolay Govorov "] -repository = "https://github.com/dimidiumlabs/hule" +repository = "https://git.dimidiumlabs.io/hule" [workspace.dependencies] # local dependencies diff --git a/images/alpine/genimg b/images/alpine/genimg index 6d34e3e..f5446ce 100755 --- a/images/alpine/genimg +++ b/images/alpine/genimg @@ -56,7 +56,7 @@ qemu-img create -f qcow2 -o compat=1.1 "$out"/root.hmi "${size_gib}G" modprobe nbd max_part=16 qemu-nbd --connect=/dev/nbd0 "$out"/root.hmi for i in $(seq 1 5); do - sleep 0.$i + sleep "0.$i" partprobe /dev/nbd0 && break done trap cleanup EXIT @@ -82,13 +82,13 @@ swapon /dev/nbd0p2 # TODO: Remove bash apk add -U \ - -X http://dl-cdn.alpinelinux.org/alpine/$release/main/ \ - -X http://dl-cdn.alpinelinux.org/alpine/$release/community/ \ + -X "http://dl-cdn.alpinelinux.org/alpine/$release/main/" \ + -X "http://dl-cdn.alpinelinux.org/alpine/$release/community/" \ --allow-untrusted \ --arch="$apk_arch" \ --root=/mnt \ --initdb \ - acct alpine-base alpine-conf alpine-sdk linux-firmware-none $linux \ + acct alpine-base alpine-conf alpine-sdk linux-firmware-none "$linux" \ git mercurial openssh sudo syslinux tzdata gnupg haveged bash curl \ doas qemu-guest-agent @@ -200,11 +200,11 @@ cat >/mnt/etc/docker/daemon.json </mnt/etc/dracut.conf.d/virtio-blk.conf <>/mnt/etc/resolv.conf net_mode=static net_address=10.0.2.15/24 net_gateway=10.0.2.2 -cat >/mnt/etc/systemd/network/25-ens3.network <"/mnt/etc/systemd/network/25-$iface.network" <