Skip to content

Misleading grub2 theme directory symlink #55

Misleading grub2 theme directory symlink

Misleading grub2 theme directory symlink #55

name: Generate install.sfs & initrd_lib.tar.gz from Docker Image
on:
schedule:
- cron: "0 0 15 * *"
push:
branches:
- main
- ceres
- downstream
tags:
- '*'
pull_request:
branches:
- main
workflow_dispatch:
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Check out
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker Image
run: |
docker build -f Dockerfile . -t devuan
- name: Extract RootFS & generate install.sfs & initrd_lib.tar.gz
run: |
# Create Docker image
docker create --name devuan devuan echo "Devuan"
# Export it to install
mkdir install
docker export devuan | tar -C install -p -s -xv
# Move grub-rescue.iso out
mv install/grub-rescue.iso .
# Remove .dockerenv
rm -rf install/.dockerenv
# Copy boot_hybrid.img for Legacy BIOS
cp install/usr/lib/grub/i386-pc/boot_hybrid.img .
# Copy initrd_lib.tar.gz
cp install/initrd_lib.tar.gz .
# Change ownership of install/ to 0:0
sudo chown -R 0:0 install
# Change chmod of dbus-daemon-launch-helper to 4754 with ownership 0:101
sudo chown 0:101 install/usr/lib/dbus-1.0/dbus-daemon-launch-helper
sudo chmod 4754 install/usr/lib/dbus-1.0/dbus-daemon-launch-helper
# Create install.sfs
sudo mksquashfs install install.sfs -noappend -comp zstd
sudo chmod 755 install.sfs
# Clean up
sudo rm -rf docker_busybox rootfs_busybox.tar.gz install initrd_lib
docker rm devuan
- name: Set Vars
id: vars
run: |
echo "arch=$(dpkg --print-architecture)" >> "$GITHUB_OUTPUT"
- name: Upload install.sfs
uses: actions/upload-artifact@v4
with:
name: install.sfs
path: install.sfs
- name: Upload initrd_lib.tar.gz
uses: actions/upload-artifact@v4
with:
name: initrd_lib.tar.gz
path: initrd_lib.tar.gz
- name: Upload grub-rescue.iso
uses: actions/upload-artifact@v4
with:
name: grub-rescue.iso
path: grub-rescue.iso
- name: Upload boot_hybrid.img
uses: actions/upload-artifact@v4
with:
name: boot_hybrid.img
path: boot_hybrid.img
release:
name: Release
needs: build
if: ((github.event_name == 'push' || github.event_name == 'workflow_dispatch') && startsWith(github.ref, 'refs/tags/'))
runs-on: ubuntu-latest
steps:
- name: Download RootFS
id: download-rootfs
uses: actions/download-artifact@v4
with:
path: out
pattern: "*"
merge-multiple: true
- name: List Files
run: ls -R ${{ steps.download-rootfs.outputs.download-path }}
- uses: "softprops/[email protected]"
with:
token: "${{ secrets.RELEASE_TOKEN }}"
prerelease: false
files: |
${{ steps.download-rootfs.outputs.download-path }}/*
monthly-release:
name: Monthly release
needs: build
if: (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
runs-on: ubuntu-latest
steps:
- name: Download rootfs
id: download-rootfs
uses: actions/download-artifact@v4
with:
path: out
pattern: "*"
merge-multiple: true
- name: List Files
run: ls -R ${{ steps.download-rootfs.outputs.download-path }}
- uses: "softprops/[email protected]"
with:
token: "${{ secrets.RELEASE_TOKEN }}"
prerelease: false
tag_name: "r${{ github.run_number }}"
name: "Monthly release r${{ github.run_number }}"
files: |
${{ steps.download-rootfs.outputs.download-path }}/*