- docs/: new 13-page Jekyll site with Just the Docs theme - Home, Building, Installer, Packages, CI/CD, Development - Desktop Environments (with GNOME joke), Wallpapers, Launcher - Overlays, Root Overlay, Live Overlay - .github/workflows/pages.yml: build & deploy docs from docs/ on push to master (only when docs/ changes) - .github/workflows/build.yml: temporarily disable Internet Archive upload (if: false) until ISO is stable - live-overlay/settings.conf: add instances section for init + desktop packagechooser instances - live-overlay/modules/packagechooser_init.conf: init system selector (OpenRC, Runit, S6, Dinit) via netinstall-add method - live-overlay/modules/packagechooser_desktop.conf: DE selector (Plasma, Xfce, Cinnamon, MATE, LXQt, i3, Sway, Hyprland + No Desktop) via legacy method - README.md, AGENTS.md: fix sudo buildiso -> sudo ./buildiso, add note about system buildiso lacking --overwrite='*' - .gitignore: add docs/_site/
109 lines
3.2 KiB
YAML
109 lines
3.2 KiB
YAML
name: Build ISO
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
branches: [master]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: artixlinux/artixlinux:base
|
|
options: --privileged
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
pacman -Syu --noconfirm --needed \
|
|
artools \
|
|
git \
|
|
squashfs-tools \
|
|
sudo \
|
|
python \
|
|
python-pip
|
|
|
|
- name: Set up WORKSPACE_DIR
|
|
run: |
|
|
echo "WORKSPACE_DIR=${{ github.workspace }}" >> $GITHUB_ENV
|
|
|
|
- name: Debug workspace
|
|
run: |
|
|
echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE"
|
|
echo "github.workspace=${{ github.workspace }}"
|
|
pwd
|
|
ls -la
|
|
|
|
- name: Override pacman.conf with antergos-pkgs repo
|
|
run: |
|
|
mkdir -p /root/.config/artools/pacman.conf.d
|
|
cp "pacman.conf.d/iso-x86_64.conf" \
|
|
/root/.config/artools/pacman.conf.d/iso-x86_64.conf
|
|
# Also override the default in case USER_CONF_DIR differs
|
|
cp "pacman.conf.d/iso-x86_64.conf" \
|
|
/usr/share/artools/pacman.conf.d/iso-x86_64.conf
|
|
|
|
- name: Check available swap and block devices
|
|
run: |
|
|
swapon --show || echo "No swap"
|
|
lsblk
|
|
free -h
|
|
|
|
- name: Setup tmpfs for build directory
|
|
run: |
|
|
mkdir -p /var/lib/artools/buildiso
|
|
mount -t tmpfs -o size=12G,exec,suid,dev tmpfs /var/lib/artools/buildiso
|
|
mount | grep buildiso
|
|
|
|
- name: Build ISO
|
|
run: |
|
|
./buildiso -p antergos
|
|
|
|
- name: Upload ISO artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Antergos-NeXT-ISO
|
|
path: ${{ github.workspace }}/iso/
|
|
|
|
- name: Upload to Internet Archive
|
|
if: false # temporarily disabled until ISO is stable
|
|
env:
|
|
IA_ACCESS_KEY: ${{ secrets.IA_ACCESS_KEY }}
|
|
IA_SECRET_KEY: ${{ secrets.IA_SECRET_KEY }}
|
|
run: |
|
|
pip install --break-system-packages internetarchive
|
|
|
|
mkdir -p "$HOME/.config/internetarchive"
|
|
cat > "$HOME/.config/internetarchive/ia.ini" <<EOF
|
|
[s3]
|
|
access = $IA_ACCESS_KEY
|
|
secret = $IA_SECRET_KEY
|
|
EOF
|
|
|
|
ISO_DIR="${WORKSPACE_DIR}/iso"
|
|
ISO=$(ls "$ISO_DIR"/antergos/*.iso 2>/dev/null | head -1)
|
|
[[ -z "$ISO" || ! -f "$ISO" ]] && { echo "No ISO found"; exit 1; }
|
|
|
|
DATE=$(date +%Y.%m.%d)
|
|
IDENTIFIER="antergos-next-$(date +%Y%m%d)"
|
|
|
|
SIZE=$(stat -c%s "$ISO")
|
|
if [[ $SIZE -lt 524288000 ]]; then
|
|
echo "WARNING: ISO smaller than expected (${SIZE} bytes)"
|
|
file "$ISO" | grep -q "ISO 9660\|UDF" || { echo "Corrupted ISO"; exit 1; }
|
|
fi
|
|
|
|
ia upload "$IDENTIFIER" "$ISO" \
|
|
--metadata="title:Antergos NeXT $(date +%Y.%m.%d)" \
|
|
--metadata="mediatype:software" \
|
|
--metadata="collection:open_source_software" \
|
|
--metadata="description:Antergos NeXT community revival ISO — KDE Plasma, OpenRC, Calamares installer" \
|
|
--metadata="subject:Antergos; Linux; Artix; OpenRC; KDE Plasma; Calamares" \
|
|
--retries 5
|
|
|
|
echo "Uploaded to: https://archive.org/details/$IDENTIFIER"
|