diff --git a/.github/workflows/daily-8.1.yml b/.github/workflows/daily-8.1.yml index e5db2b88..c0ee3b82 100644 --- a/.github/workflows/daily-8.1.yml +++ b/.github/workflows/daily-8.1.yml @@ -16,8 +16,8 @@ jobs: include: - runner: ubuntu-24.04 arch: amd64 - - runner: ubuntu-24.04-arm - arch: arm64 + # - runner: ubuntu-24.04-arm + # arch: arm64 runs-on: ${{ matrix.runner }} container: @@ -32,4 +32,4 @@ jobs: - name: Build and upload daily .iso run: | - ./workflows.sh etc/terraform-daily-8.1-azure-${{ matrix.arch }}.conf "${{ secrets.key }}" "${{ secrets.secret }}" "${{ secrets.endpoint }}" "${{ secrets.bucket }}" + ./build.sh etc/terraform-daily-8.1-azure-${{ matrix.arch }}.conf diff --git a/build.sh b/build.sh index 2c1c41a0..a06917ec 100755 --- a/build.sh +++ b/build.sh @@ -24,7 +24,8 @@ echo -e " " apt-get update -apt-get install -y live-build patch gnupg2 binutils zstd +apt-get install -y mkosi patch gnupg2 binutils zstd +mkosi dependencies | xargs -d '\n' apt-get install -y # The Debian repositories don't seem to have the `ubuntu-keyring` or `ubuntu-archive-keyring` packages # anymore, so we add the archive keys manually. This may need to be updated if Ubuntu changes their signing keys @@ -32,9 +33,6 @@ apt-get install -y live-build patch gnupg2 binutils zstd # system and run `gpg --keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-xxxx-archive.gpg --list-public-keys ` gpg --homedir /tmp --no-default-keyring --keyring /etc/apt/trusted.gpg --recv-keys --keyserver keyserver.ubuntu.com F6ECB3762474EDA9D21B7022871920D1991BC93C -# TODO: Remove this once debootstrap can natively build noble images: -ln -sfn /usr/share/debootstrap/scripts/gutsy /usr/share/debootstrap/scripts/noble - build () { BUILD_ARCH="$1" @@ -53,26 +51,28 @@ build () { cp "config/appcenter/appcenter.key.binary" "config/archives/appcenter.key.binary" fi + YYYYMMDD="$(date +%Y%m%d)" + OUTPUT_DIR="$BASE_DIR/builds/$BUILD_ARCH" + mkdir -p "$OUTPUT_DIR" + FNAME="elementaryos-$VERSION-$CHANNEL-$BUILD_ARCH.$YYYYMMDD$OUTPUT_SUFFIX" + echo -e " #------------------# -# LIVE-BUILD CLEAN # +# MKOSI CLEAN # #------------------# " - lb clean - - echo -e " -#-------------------# -# LIVE-BUILD CONFIG # -#-------------------# -" - lb config + mkosi clean echo -e " #------------------# -# LIVE-BUILD BUILD # +# MKOSI BUILD # #------------------# " - lb build + mkosi build \ + --release="$BASECODENAME" \ + --mirror="$MIRROR_URL" \ + --ouput=$FNAME \ + --output-directory=$OUTPUT_DIR echo -e " #---------------------------# @@ -80,12 +80,6 @@ build () { #---------------------------# " - YYYYMMDD="$(date +%Y%m%d)" - OUTPUT_DIR="$BASE_DIR/builds/$BUILD_ARCH" - mkdir -p "$OUTPUT_DIR" - FNAME="elementaryos-$VERSION-$CHANNEL-$BUILD_ARCH.$YYYYMMDD$OUTPUT_SUFFIX" - mv "$BASE_DIR/tmp/$BUILD_ARCH/live-image-$BUILD_ARCH.hybrid.iso" "$OUTPUT_DIR/${FNAME}.iso" - # cd into output to so {FNAME}.sha256.txt only # includes the filename and not the path to # our file. diff --git a/etc/mkosi.conf b/etc/mkosi.conf new file mode 100644 index 00000000..11654886 --- /dev/null +++ b/etc/mkosi.conf @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-3.0-or-later +# SPDX-FileCopyrightText: 2026 elementary, Inc. (https://elementary.io) + +[Distribution] +Distribution=ubuntu +Repositories=main restricted universe multiverse + +[Output] +Format=disk + +[Content] +Packages= + linux-image-generic + systemd-boot +Bootable=yes