apps: refactor appmk infrastructure into sourcing appdwarf #31
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
jobs: | |
build: | |
name: Build | |
strategy: | |
fail-fast: false | |
matrix: | |
app: | |
- calibre | |
- dotnet | |
- go | |
- java | |
- mp3tag | |
- musikcube | |
- musl | |
- node | |
- pinta | |
- pypy | |
- renpy | |
- rust | |
- tex | |
- wine | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install packaging dependencies | |
run: sudo apt install -y aria2 libarchive-tools | |
- name: Setup DwarFS | |
run: | | |
sudo cp appdwarf /bin | |
sudo wget https://github.com/mhx/dwarfs/releases/download/v0.9.6/dwarfs-universal-0.9.6-Linux-x86_64-clang -O /bin/mkdwarfs | |
sudo chmod +x /bin/mkdwarfs | |
- name: Build image | |
env: | |
GH_TOKEN: ${{ github.token }} | |
run: | | |
cd apps | |
./mk${{ matrix.app }} | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.app }} | |
path: | | |
bin/${{ matrix.app }} | |
arch: | |
name: Arch | |
strategy: | |
fail-fast: false | |
matrix: | |
app: | |
- { name: wine, pkgs: dxvk-async-git mono vkd3d-proton-mingw-git wine-gecko wine-mono wine-staging-wow64 winetricks } | |
- { name: emus, pkgs: ares-emu-avx-git cemu citra-canary-git ryujinx suyu-dev-qt6-git } | |
runs-on: ubuntu-latest | |
container: archlinux:latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Update system base | |
run: | | |
pacman -Syu --noconfirm | |
pacman -S --noconfirm aria2 base-devel git libarchive parallel wget | |
pacman -S --noconfirm budgie-desktop vulkan-intel | |
- name: Add Chaotic-AUR for additional depends | |
run: | | |
pacman-key --init | |
pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com | |
pacman-key --lsign-key 3056513887B78AEB | |
pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst' | |
printf '[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n' >> /etc/pacman.conf | |
printf '[multilib]\nInclude = /etc/pacman.d/mirrorlist\n' >> /etc/pacman.conf | |
pacman -Syu --noconfirm | |
- name: Setup DwarFS | |
run: | | |
sudo cp appdwarf /bin | |
sudo wget https://github.com/mhx/dwarfs/releases/download/v0.9.6/dwarfs-universal-0.9.6-Linux-x86_64-clang -O /bin/mkdwarfs | |
sudo chmod +x /bin/mkdwarfs | |
- name: Build image | |
run: | | |
cd apps | |
./mkpacman ${{ matrix.app.pkgs }} | |
pkg1=$(echo ${{ matrix.app.pkgs }} | cut -d\ -f1) | |
mv bin/$pkg1 bin/${{ matrix.app.name }} | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: arch-${{ matrix.app.name }} | |
path: | | |
bin/${{ matrix.app.name }} |