.gitea/workflows/build-package.yml hinzugefügt
Some checks failed
Build Arch Package / build-package (push) Failing after 59s
Some checks failed
Build Arch Package / build-package (push) Failing after 59s
This commit is contained in:
60
.gitea/workflows/build-package.yml
Normal file
60
.gitea/workflows/build-package.yml
Normal file
@@ -0,0 +1,60 @@
|
||||
name: Build Arch Package
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main, master ]
|
||||
pull_request:
|
||||
branches: [ main, master ]
|
||||
|
||||
jobs:
|
||||
build-package:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux:latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Build Environment
|
||||
run: |
|
||||
# System aktualisieren
|
||||
pacman -Syu --noconfirm
|
||||
|
||||
# Build-Tools installieren
|
||||
pacman -S --noconfirm base-devel git namcap pacman-contrib sudo
|
||||
|
||||
# Build-User erstellen (makepkg darf nicht als root laufen)
|
||||
useradd -m -G wheel builder
|
||||
echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
||||
|
||||
# Ownership für builder setzen
|
||||
chown -R builder:builder .
|
||||
|
||||
- name: Validate PKGBUILD
|
||||
run: |
|
||||
sudo -u builder namcap PKGBUILD
|
||||
|
||||
- name: Build Package
|
||||
run: |
|
||||
sudo -u builder makepkg -s --noconfirm --needed
|
||||
|
||||
- name: Test Built Package
|
||||
run: |
|
||||
sudo -u builder namcap *.pkg.tar.zst
|
||||
|
||||
- name: Upload Package Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: arch-packages
|
||||
path: '*.pkg.tar.zst'
|
||||
retention-days: 30
|
||||
|
||||
- name: Deploy to Repository
|
||||
if: github.ref == 'refs/heads/main'
|
||||
run: |
|
||||
# Packages zum Repository Server kopieren
|
||||
scp *.pkg.tar.zst user@your-server:/srv/repository/
|
||||
|
||||
# Repository-Datenbank aktualisieren
|
||||
ssh user@your-server "cd /srv/repository && repo-add custom.db.tar.xz *.pkg.tar.zst"
|
||||
Reference in New Issue
Block a user