Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: include sensible default flatpaks in ISO #66

Merged
merged 3 commits into from
Aug 14, 2024
Merged
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
75 changes: 65 additions & 10 deletions .github/workflows/build_iso.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
branches:
- main
paths:
- '.github/workflows/build_iso.yml'
- ".github/workflows/build_iso.yml"

env:
IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }}
Expand All @@ -24,30 +24,85 @@ jobs:
strategy:
fail-fast: false
matrix:
image_name: [cosmic, cosmic-nvidia, cosmic-silverblue,cosmic-silverblue-nvidia]
image_name:
[cosmic, cosmic-nvidia, cosmic-silverblue, cosmic-silverblue-nvidia]
fedora_version: [40]
env:
IMAGE_TAG: ${{ matrix.fedora_version }}-amd64
IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Get Flatpak dependencies
id: flatpak-dependencies
env:
IMAGE_FULL: ${{ env.IMAGE_REGISTRY }}/${{ matrix.image_name }}:${{ env.IMAGE_TAG }}
shell: bash
run: |
set -euox pipefail

IMAGE="${IMAGE_FULL}"

# Create temporary directory
TEMP_FLATPAK_INSTALL_DIR=$(mktemp -d -p /tmp flatpak-XXXXXX)
FLATPAK_REFS_DIR=./flatpak-refs
FLATPAK_REFS_DIR_ABS=$(realpath "${FLATPAK_REFS_DIR}")
mkdir -p "${FLATPAK_REFS_DIR}"
mv flatpaks.txt "${FLATPAK_REFS_DIR_ABS}/flatpaks.txt"

# Read the list of Flatpak packages from the manifest
FLATPAK_REFS=()
while IFS= read -r line; do
FLATPAK_REFS+=("$line")
done < "${FLATPAK_REFS_DIR}/flatpaks.txt"

echo "Flatpak refs: ${FLATPAK_REFS[@]}"

# Generate installation script
cat <<EOF > "${TEMP_FLATPAK_INSTALL_DIR}/install-flatpaks.sh"
mkdir -p /flatpak/flatpak /flatpak/triggers
mkdir /var/tmp
chmod -R 1777 /var/tmp
flatpak config --system --set languages "*"
flatpak remote-add --system flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --system -y flathub ${FLATPAK_REFS[@]}
ostree refs --repo=\${FLATPAK_SYSTEM_DIR}/repo | grep '^deploy/' | grep -v 'org\.freedesktop\.Platform\.openh264' | sed 's/^deploy\///g' > /output/flatpaks-with-deps
EOF
docker run --rm --privileged \
--entrypoint /bin/bash \
-e FLATPAK_SYSTEM_DIR=/flatpak/flatpak \
-e FLATPAK_TRIGGERS_DIR=/flatpak/triggers \
-v ${FLATPAK_REFS_DIR_ABS}:/output \
-v ${TEMP_FLATPAK_INSTALL_DIR}:/temp_flatpak_install_dir \
${IMAGE} /temp_flatpak_install_dir/install-flatpaks.sh
docker rmi ${IMAGE}
cat ${FLATPAK_REFS_DIR}/flatpaks-with-deps

echo "FLATPAK_REFS_DIR=${FLATPAK_REFS_DIR}" >> $GITHUB_OUTPUT

- name: Build ISOs
uses: jasonn3/[email protected]
id: build
with:
iso_name: ${{ matrix.image_name }}-${{ matrix.fedora_version }}.iso
arch: x86_64
image_name: ${{ matrix.image_name }}
image_repo: ghcr.io/ublue-os
enable_flatpak_dependencies: false
image_repo: ${{ env.IMAGE_REGISTRY }}
# We cannot use Silverblue variant since we need the user creation options in anaconda
variant: 'Kinoite'
variant: "Kinoite"
version: ${{ matrix.fedora_version }}
image_tag: ${{ matrix.fedora_version }}-amd64
secure_boot_key_url: 'https://github.com/ublue-os/akmods/raw/main/certs/public_key.der'
enrollment_password: 'universalblue'
iso_name: ${{ matrix.image_name }}-${{ matrix.fedora_version }}.iso
image_tag: ${{ env.IMAGE_TAG }}
secure_boot_key_url: "https://github.com/ublue-os/akmods/raw/main/certs/public_key.der"
enrollment_password: "universalblue"
flatpak_remote_refs_dir: ${{ steps.flatpak-dependencies.outputs.FLATPAK_REFS_DIR }}
enable_flatpak_dependencies: false

- name: Upload ISOs and Checksum to Job Artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.image_name }}-${{ matrix.fedora_version }}-amd64
name: ${{ matrix.image_name }}-${{ env.IMAGE_TAG }}
path: |
${{ steps.build.outputs.iso_path }}
${{ steps.build.outputs.iso_path }}-CHECKSUM
Expand Down
17 changes: 17 additions & 0 deletions flatpaks.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
app/com.github.tchx84.Flatseal/x86_64/stable
app/io.missioncenter.MissionCenter/x86_64/stable
app/org.mozilla.firefox/x86_64/stable
app/org.mozilla.Thunderbird/x86_64/stable
app/org.gnome.baobab/x86_64/stable
app/org.gnome.Calculator/x86_64/stable
app/org.gnome.Calendar/x86_64/stable
app/org.gnome.Characters/x86_64/stable
app/org.gnome.clocks/x86_64/stable
app/org.gnome.Connections/x86_64/stable
app/org.gnome.Contacts/x86_64/stable
app/org.gnome.Papers/x86_64/stable
app/org.gnome.font-viewer/x86_64/stable
app/org.gnome.Logs/x86_64/stable
app/org.gnome.Loupe/x86_64/stable
app/org.gnome.Maps/x86_64/stable
app/org.gnome.Weather/x86_64/stable
Loading