- Add btrfs storage.conf for gitea-runner user - Add gitea-runner-podman.service dependency to runner service - Auto-allocate subuid/subgid ranges via usermod (min 524288) - Add systemd-container dep for loginctl enable-linger - Use sysusers_create_package in %pre for proper user creation - Track /var/lib/gitea/runners dir in %files - Use runuser instead of sudo in setup script - Add After=systemd-logind.service to podman service - Fix SELinux volume label (:Z -> :z) in config.yaml
119 lines
3.9 KiB
RPMSpec
119 lines
3.9 KiB
RPMSpec
Name: gitea-act_runner
|
|
Version: 0.3.0
|
|
Release: 4%{?dist}
|
|
Summary: Gitea act runner service.
|
|
License: MIT
|
|
Group: System Environment/Base
|
|
URL: http://gitea.infomaas.com/rpms-fedora-free/gitea-act_runner
|
|
|
|
Source0: https://dl.gitea.com/act_runner/%{version}/act_runner-%{version}-linux-amd64
|
|
Source1: https://dl.gitea.com/act_runner/%{version}/act_runner-%{version}-linux-arm64
|
|
Source10: gitea-act_runner@.service
|
|
Source11: config.yaml
|
|
Source12: gitea-act-runner-setup
|
|
Source13: gitea-act-runner.sysusers
|
|
Source14: gitea-runner-podman.service
|
|
Source15: storage.conf
|
|
|
|
BuildRequires: systemd-rpm-macros
|
|
Requires: podman
|
|
Requires: systemd-container
|
|
%{?systemd_requires}
|
|
|
|
ExclusiveArch: x86_64 aarch64
|
|
|
|
%description
|
|
Act runner is a runner for Gitea based on Gitea fork of act.
|
|
|
|
This package includes official binaries and runs act_runner natively on the host.
|
|
|
|
%install
|
|
%{__rm} -rf %{buildroot}
|
|
|
|
install -d -m 755 %{buildroot}%{_bindir}
|
|
%ifarch x86_64
|
|
install -m 755 %{SOURCE0} %{buildroot}%{_bindir}/gitea-act-runner
|
|
%endif
|
|
|
|
%ifarch aarch64
|
|
install -m 755 %{SOURCE1} %{buildroot}%{_bindir}/gitea-act-runner
|
|
%endif
|
|
|
|
install -p -D -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/gitea-act_runner@.service
|
|
install -p -D -m 644 %{SOURCE14} %{buildroot}%{_unitdir}/gitea-runner-podman.service
|
|
install -p -D -m 644 %{SOURCE13} %{buildroot}%{_sysusersdir}/gitea-act-runner.conf
|
|
|
|
install -d -m 750 %{buildroot}%{_sysconfdir}/gitea/runners
|
|
install -m 640 %{SOURCE11} %{buildroot}%{_sysconfdir}/gitea/runners/runner1.yaml
|
|
install -m 755 %{SOURCE12} %{buildroot}%{_bindir}/gitea-act-runner-setup
|
|
|
|
install -d -m 750 %{buildroot}%{_sharedstatedir}/gitea/runners
|
|
|
|
# Podman storage config for gitea-runner user — uses native btrfs driver
|
|
# instead of overlayfs for better performance on btrfs filesystems
|
|
install -d -m 750 %{buildroot}%{_sharedstatedir}/gitea/runners/.config/containers
|
|
install -m 644 %{SOURCE15} %{buildroot}%{_sharedstatedir}/gitea/runners/.config/containers/storage.conf
|
|
|
|
install -d -m 755 %{buildroot}/var/cache/act-runner/pnpm-store
|
|
|
|
%pre
|
|
%sysusers_create_package gitea-act-runner %{SOURCE13}
|
|
|
|
%post
|
|
if [ $1 -eq 1 ]; then
|
|
loginctl enable-linger gitea-runner || :
|
|
fi
|
|
|
|
if ! grep -q "^gitea-runner:" /etc/subuid 2>/dev/null; then
|
|
NEXT=$(awk -F: '{n=$2+$3} END{print n+0}' /etc/subuid 2>/dev/null)
|
|
[ "$NEXT" -lt 524288 ] && NEXT=524288
|
|
END=$((NEXT + 65535))
|
|
usermod --add-subuids "$NEXT-$END" --add-subgids "$NEXT-$END" gitea-runner 2>/dev/null || :
|
|
fi
|
|
|
|
%systemd_post gitea-act_runner@.service
|
|
%systemd_post gitea-runner-podman.service
|
|
|
|
%preun
|
|
%systemd_preun gitea-act_runner@.service
|
|
%systemd_preun gitea-runner-podman.service
|
|
|
|
%postun
|
|
%systemd_postun gitea-act_runner@.service
|
|
%systemd_postun gitea-runner-podman.service
|
|
|
|
%clean
|
|
%{__rm} -rf %{buildroot}
|
|
|
|
%files
|
|
%defattr(-,root,root,-)
|
|
|
|
%{_bindir}/gitea-act-runner
|
|
%{_bindir}/gitea-act-runner-setup
|
|
%{_unitdir}/gitea-act_runner@.service
|
|
%{_unitdir}/gitea-runner-podman.service
|
|
%{_sysusersdir}/gitea-act-runner.conf
|
|
|
|
%defattr(-,gitea-runner,gitea-runner,750)
|
|
%dir %{_sharedstatedir}/gitea/runners
|
|
%dir %{_sysconfdir}/gitea
|
|
%dir %{_sysconfdir}/gitea/runners
|
|
%config(noreplace) %{_sysconfdir}/gitea/runners/runner1.yaml
|
|
|
|
%dir %{_sharedstatedir}/gitea/runners/.config
|
|
%dir %{_sharedstatedir}/gitea/runners/.config/containers
|
|
%config(noreplace) %{_sharedstatedir}/gitea/runners/.config/containers/storage.conf
|
|
|
|
%dir /var/cache/act-runner
|
|
%dir /var/cache/act-runner/pnpm-store
|
|
|
|
%changelog
|
|
* Mon Apr 06 2026 Zoran Pericic <zpericic@netst.org> - 0.3.0-4
|
|
- Add Podman btrfs storage.conf for gitea-runner user
|
|
- Add dependency on gitea-runner-podman.service
|
|
- Use usermod --add-subuids for subuid/subgid allocation
|
|
- Add systemd-container dependency for loginctl enable-linger
|
|
|
|
* Mon Mar 17 2025 Zoran Pericic <zpericic@netst.org> - 0.3.0-2
|
|
- Add gitea-runner-podman.service for rootless Podman API socket
|