Files
cmus/.gitea/workflows/build.yaml
y1lm0z b45e24da80
Some checks failed
MusicPlayer Fedora RPM Build / fedora-compilation (push) Failing after 2m42s
build dosyası düzenleme 7
2026-03-29 14:55:19 +03:00

96 lines
3.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: MusicPlayer Fedora RPM Build
run-name: ${{ gitea.actor }} tarafından Fedora RPM derleniyor 🚀
on: [push]
jobs:
fedora-compilation:
runs-on: fedora-latest
steps:
- name: Gerekli Araçları Kur
run: |
dnf install -y git gcc gcc-c++ make cmake pkgconfig curl rpm-build rpmdevtools
- name: Kodları Manuel Çek
run: |
# Kendi domain adresini kullanarak kodu çekiyoruz
git clone https://git.y1lm0z.me/y1lm0z/cmus.git .
- name: Bağımlılıkları Kur
run: |
dnf install -y https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm || true
dnf install -y \
'pkgconfig(ncursesw)' 'pkgconfig(alsa)' 'pkgconfig(ao)' \
'pkgconfig(libcddb)' 'pkgconfig(libcdio_cdda)' 'pkgconfig(libdiscid)' \
'pkgconfig(libavformat)' 'pkgconfig(libavcodec)' 'pkgconfig(libswresample)' \
'pkgconfig(flac)' 'pkgconfig(jack)' 'pkgconfig(mad)' \
'pkgconfig(libmodplug)' libmpcdec-devel 'pkgconfig(libsystemd)' \
'pkgconfig(opusfile)' 'pkgconfig(libpulse)' 'pkgconfig(samplerate)' \
'pkgconfig(vorbisfile)' 'pkgconfig(wavpack)' \
faad2-devel libmp4v2-devel
- name: Derle
run: |
if [ -f ./configure ]; then
./configure prefix=/usr
make -j$(nproc)
elif [ -f CMakeLists.txt ]; then
mkdir -p build && cd build
cmake ..
make -j$(nproc)
else
make -j$(nproc)
fi
- name: RPM Paketi Oluştur
run: |
# RPM klasör yapısını kur
rpmdev-setuptree
# Dosyaları sanal bir sistem köküne yerleştir
mkdir -p ~/rpmbuild/BUILDROOT/cmus-custom-1.0-1.x86_64/usr/bin
cp cmus cmus-remote ~/rpmbuild/BUILDROOT/cmus-custom-1.0-1.x86_64/usr/bin/
# RPM'in pasaportu olan SPEC dosyasını oluştur
cat <<EOF > cmus.spec
Name: cmus-custom
Version: 1.0
Release: 1
Summary: Custom Fedora Build for Cmus
License: GPL
Group: Applications/Multimedia
%description
y1lm0z tarafından Gitea Actions ile otomatik derlenen cmus paketi.
%files
/usr/bin/cmus
/usr/bin/cmus-remote
EOF
# Paketi inşa et
rpmbuild -bb cmus.spec
# Oluşan dosyayı ana dizine al
cp ~/rpmbuild/RPMS/x86_64/*.rpm .
- name: Release Kontrol Et ve RPM'i Yükle
run: |
RPM_NAME=$(ls *.rpm)
echo "Yüklenecek dosya: $RPM_NAME"
# 1. Eğer 'v1.0' adında bir sürüm yoksa oluştur (Hata verirse devam et)
curl -X 'POST' "https://git.y1lm0z.me/api/v1/repos/${{ gitea.repository }}/releases" \
-H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{"tag_name": "v1.0", "name": "Fedora Build v1.0", "body": "Otomatik RPM derlemesi", "draft": false, "prerelease": false}' || true
# 2. Gitea API'den o sürümün ID numarasını al
RELEASE_ID=$(curl -s -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
"https://git.y1lm0z.me/api/v1/repos/${{ gitea.repository }}/releases" | \
grep -Po '"id":\s*\K\d+' | head -n 1)
# 3. RPM dosyasını o ID'ye sahip Release içine yükle
curl -X 'POST' \
-H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
-F "attachment=@$RPM_NAME" \
"https://git.y1lm0z.me/api/v1/repos/${{ gitea.repository }}/releases/$RELEASE_ID/assets"