name: Packaging Verification
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
permissions:
contents: read
jobs:
nixpkgs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Install Nix
uses: cachix/install-nix-action@v31
with:
nix_path: nixpkgs=channel:nixos-unstable
- name: Build Nixpkgs Derivation
run: nix-build packaging/nixpkgs/test.nix
- name: Build Nix Flake
run: nix build .#default
aur:
runs-on: ubuntu-latest
container: archlinux:latest
steps:
- name: Install system dependencies
run: |
pacman -Syu --noconfirm git base-devel cargo mandown sudo
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Build AUR PKGBUILD
run: |
# Create builduser
useradd -m builduser
echo "builduser ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
cd packaging/aur
# Package local source to avoid downloading tag that doesn't exist yet
tar --exclude=packaging/aur/cargo-home --exclude=target --exclude=.git -czf /tmp/retch.tar.gz -C ../.. .
mv /tmp/retch.tar.gz retch.tar.gz
# Patch PKGBUILD for local build
sed -i 's|source=.*|source=("retch.tar.gz")|' PKGBUILD
sed -i 's|sha256sums=.*|sha256sums=("SKIP")|' PKGBUILD
sed -i 's|"$pkgname-\$pkgver"|"$srcdir"|g' PKGBUILD
chown -R builduser:builduser .
# Run makepkg (unsetting any runner-inherited cargo linker configs)
sudo -u builduser env -u CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER makepkg -s --noconfirm