Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/daily-8.1.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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
36 changes: 15 additions & 21 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,15 @@ 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
# To get the current key ID, find `ubuntu-keyring-xxxx-archive.gpg` in /etc/apt/trusted.gpg.d on a running
# 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"

Expand All @@ -53,39 +51,35 @@ 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 "
#---------------------------#
# MOVE OUTPUT TO BUILDS DIR #
#---------------------------#
"

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.
Expand Down
15 changes: 15 additions & 0 deletions etc/mkosi.conf
Original file line number Diff line number Diff line change
@@ -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