Skip to content

Build ISOs

Build ISOs #589

Workflow file for this run

name: Build ISOs
on:
push:
branches: [main]
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
build-home:
strategy:
matrix:
arch: [x86_64, aarch64]
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: ghcr.io/tau-os/builder:main
options: --privileged -v /dev:/dev
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: repo
key: home-${{matrix.arch}}
- run: ostree init --repo repo --mode archive
if: steps.cache.outputs.cache-hit != 'true'
- run: ostree remote add --no-gpg-verify --force --repo repo tauOS https://repo.tauos.co/ostree tau/home/1/${{matrix.arch}}
- run: ostree pull --repo repo --mirror tauOS tau/home/1/${{matrix.arch}}
- run: |
lorax --product=tauOS \
--version=1 \
--release=1 \
--variant=desktop \
--rootfs-size=8 \
--source=https://kojipkgs.fedoraproject.org/compose/39/latest-Fedora-39/compose/Everything/${{matrix.arch}}/os/ \
--source=https://repos.fyralabs.com/tau1/ \
--source=https://repos.fyralabs.com/terra39/ \
--installpkgs=tau-logos \
--installpkgs=tau-release \
--installpkgs=tau-release-desktop \
--installpkgs=tau-repos \
--installpkgs=tau-gpg-keys \
--installpkgs=fedora-repos \
--installpkgs=tau-anaconda-profiles \
--installpkgs=tau-plymouth \
--installpkgs=tau-helium \
--installpkgs=tau-hydrogen \
--installpkgs=tau-manrope-fonts \
--volid=tauOS-Home-Installer \
--nomacboot \
--skip-branding \
--add-template=$(pwd)/lorax-configure-repo.tmpl \
--add-template=$(pwd)/lorax-embed-repo.tmpl \
--add-template=$(pwd)/lorax-embed-flatpaks.tmpl \
--add-template-var=ostree_install_repo=file://$(pwd)/repo \
--add-template-var=ostree_update_repo=https://repo.tauos.co/ostree \
--add-template-var=ostree_osname=tauOS \
--add-template-var=ostree_oskey=tauOS-home \
--add-template-var=ostree_contenturl=https://repo.tauos.co/ostree \
--add-template-var=ostree_install_ref=tau/home/1/${{matrix.arch}} \
--add-template-var=ostree_update_ref=tau/home/1/${{matrix.arch}} \
--add-template-var=flatpak_remote_name=catalogue \
--add-template-var=flatpak_remote_url=https://repo.tauos.co/catalogue.flatpakrepo \
--add-template-var=flatpak_remote_refs="runtime/com.fyralabs.Platform/${{matrix.arch}}/stable runtime/co.tauos.Platform/${{matrix.arch}}/stable app/com.fyralabs.Victrola/${{matrix.arch}}/master app/com.fyralabs.Nixie/${{matrix.arch}}/master app/com.fyralabs.Modi/${{matrix.arch}}/master app/com.fyralabs.Kairos/${{matrix.arch}}/master app/com.fyralabs.Enigma/${{matrix.arch}}/master app/co.tauos.Abacus/${{matrix.arch}}/master app/com.fyralabs.Accelerator/${{matrix.arch}}/master app/co.tauos.Buds/${{matrix.arch}}/master" \
--logfile=$(pwd)/lorax.log \
--tmp=$(pwd)/tmp \
$(pwd)/home-${{matrix.arch}}
- run: mv home-${{matrix.arch}}/images/boot.iso home-${{matrix.arch}}-${{github.event.repository.pushed_at}}.iso
- name: Upload Artifacts
uses: actions/upload-artifact@v3.0.0
with:
name: home-${{matrix.arch}}
path: home-${{matrix.arch}}-${{github.event.repository.pushed_at}}.iso
build-core:
strategy:
matrix:
arch: [x86_64, aarch64]
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: ghcr.io/tau-os/builder:main
options: --privileged -v /dev:/dev
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: repo
key: core-${{matrix.arch}}
- run: ostree init --repo repo --mode archive
if: steps.cache.outputs.cache-hit != 'true'
- run: ostree remote add --no-gpg-verify --force --repo repo tauOS https://repo.tauos.co/ostree tau/core/1/${{matrix.arch}}
- run: ostree pull --repo repo --mirror tauOS tau/core/1/${{matrix.arch}}
- run: |
lorax --product=tauOS \
--version=1 \
--release=1 \
--variant=core \
--source=https://kojipkgs.fedoraproject.org/compose/39/latest-Fedora-39/compose/Everything/${{matrix.arch}}/os/ \
--source=https://repos.fyralabs.com/tau1/ \
--source=https://repos.fyralabs.com/terra39/ \
--installpkgs=tau-logos \
--installpkgs=tau-release \
--installpkgs=tau-release-core \
--installpkgs=tau-repos \
--installpkgs=tau-gpg-keys \
--installpkgs=fedora-repos \
--installpkgs=tau-anaconda-profiles \
--installpkgs=tau-plymouth \
--installpkgs=tau-helium \
--installpkgs=tau-hydrogen \
--installpkgs=tau-manrope-fonts \
--volid=tauOS-Core-Installer \
--nomacboot \
--skip-branding \
--add-template=$(pwd)/lorax-configure-repo.tmpl \
--add-template=$(pwd)/lorax-embed-repo.tmpl \
--add-template-var=ostree_install_repo=file://$(pwd)/repo \
--add-template-var=ostree_update_repo=https://repo.tauos.co/ostree \
--add-template-var=ostree_osname=tauOS \
--add-template-var=ostree_oskey=tauOS-core \
--add-template-var=ostree_contenturl=https://repo.tauos.co/ostree \
--add-template-var=ostree_install_ref=tau/core/1/${{matrix.arch}} \
--add-template-var=ostree_update_ref=tau/core/1/${{matrix.arch}} \
--logfile=$(pwd)/lorax.log \
--tmp=$(pwd)/tmp \
--rootfs-size=8 \
$(pwd)/core-${{matrix.arch}}
- run: mv core-${{matrix.arch}}/images/boot.iso core-${{matrix.arch}}-${{github.event.repository.pushed_at}}.iso
- name: Upload Artifacts
uses: actions/upload-artifact@v3.0.0
with:
name: core-${{matrix.arch}}
path: core-${{matrix.arch}}-${{github.event.repository.pushed_at}}.iso