automationScripts/.forgejo/workflows/fortune-mod-alpine.yml

61 lines
No EOL
2.5 KiB
YAML

name: Build fortune-mod for alpine
on: [workflow_dispatch]
jobs:
x86_64:
runs-on: alpine
steps:
- name: Setup Alpine
uses: https://git.swee.codes/swee/setup-alpine@main
with:
additional: alpine-sdk sudo
- name: Create user for building
run: adduser -D packager && addgroup packager abuild
- name: Create sudo rule
run: echo 'packager ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/packager
- uses: actions/checkout@v4
- name: Create keys
run: sudo -u packager abuild-keygen -n --append --install
- name: Start building
run: chown -R packager /workspace && sudo -u packager abuild -r
working-directory: ./alpine/fortune-mod
- name: Build documentation folder
run: sudo -u packager abuild -r
working-directory: ./alpine/fortune-mod-doc
- name: Upload
uses: actions/upload-artifact@v3
with:
path: /home/packager/packages/alpine/x86_64/fortune-mo*
aarch64:
runs-on: alpine
steps:
- name: Setup Alpine
uses: https://git.swee.codes/swee/setup-alpine@main
with:
additional: qemu-aarch64 qemu-openrc wget openrc
- name: Prepare
run: mkdir rootfs
- name: Get minirootfs of Alpine
run: wget https://dl-cdn.alpinelinux.org/alpine/v3.21/releases/aarch64/alpine-minirootfs-3.21.3-aarch64.tar.gz
working-directory: ./rootfs
- name: Unzip
run: tar -xzvf alpine-minirootfs-3.21.3-aarch64.tar.gz && rm alpine-minirootfs-3.21.3-aarch64.tar.gz
working-directory: ./rootfs
- name: Openrc
run: rc-update add qemu-binfmt default
- name: Fix resolv
run: echo "nameserver 1.1.1.1" > rootfs/etc/resolv.conf
- name: Setup
run: cp /usr/bin/qemu-aarch64 rootfs/usr/bin/qemu-aarch64 && sleep 10 && chroot rootfs apk update && chroot rootfs apk add sudo alpine-sdk
- name: Create user for building
run: chroot rootfs adduser -D packager && chroot rootfs addgroup packager abuild
- name: Create sudo rule
run: echo 'packager ALL=(ALL) NOPASSWD:ALL' > rootfs/etc/sudoers.d/packager
- uses: actions/checkout@v4
- name: Add files
run: mv alpine rootfs/alpine && chmod +x rootfs/alpine/chroot-fortunemod.sh
- name: Run script
run: chroot rootfs /alpine/chroot-fortunemod.sh
- name: Upload
uses: actions/upload-artifact@v3
with:
path: /home/packager/packages/alpine/aarch64/fortune-mo*