build dosyası düzenleme 8
Some checks failed
MusicPlayer Fedora RPM Build / fedora-compilation (push) Failing after 3m48s
Some checks failed
MusicPlayer Fedora RPM Build / fedora-compilation (push) Failing after 3m48s
This commit is contained in:
@@ -9,7 +9,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Gerekli Araçları Kur
|
- name: Gerekli Araçları Kur
|
||||||
run: |
|
run: |
|
||||||
# 'jq' paketini ekledik (Gitea API'den gelen verileri güvenle okumak için)
|
|
||||||
dnf install -y git gcc gcc-c++ make cmake pkgconfig curl rpm-build rpmdevtools jq
|
dnf install -y git gcc gcc-c++ make cmake pkgconfig curl rpm-build rpmdevtools jq
|
||||||
|
|
||||||
- name: Kodları Manuel Çek
|
- name: Kodları Manuel Çek
|
||||||
@@ -45,9 +44,11 @@ jobs:
|
|||||||
- name: RPM Paketi Oluştur
|
- name: RPM Paketi Oluştur
|
||||||
run: |
|
run: |
|
||||||
rpmdev-setuptree
|
rpmdev-setuptree
|
||||||
mkdir -p ~/rpmbuild/BUILD/usr/bin
|
|
||||||
cp cmus cmus-remote ~/rpmbuild/BUILD/usr/bin/
|
|
||||||
|
|
||||||
|
# Çalışma dizinimizin tam yolunu alıyoruz (Örn: /workspace/y1lm0z/cmus)
|
||||||
|
WORKSPACE=$(pwd)
|
||||||
|
|
||||||
|
# SPEC dosyasını oluştur
|
||||||
cat <<EOF > cmus.spec
|
cat <<EOF > cmus.spec
|
||||||
Name: cmus-custom
|
Name: cmus-custom
|
||||||
Version: 1.0
|
Version: 1.0
|
||||||
@@ -62,8 +63,11 @@ jobs:
|
|||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p %{buildroot}/usr/bin
|
mkdir -p %{buildroot}/usr/bin
|
||||||
cp %{_builddir}/usr/bin/cmus %{buildroot}/usr/bin/
|
|
||||||
cp %{_builddir}/usr/bin/cmus-remote %{buildroot}/usr/bin/
|
# RPM'in kafasına göre klasör aramasını engellemek için dosyaları
|
||||||
|
# direkt olarak derlediğimiz klasörden (WORKSPACE) aldırıyoruz.
|
||||||
|
cp \${WORKSPACE}/cmus %{buildroot}/usr/bin/
|
||||||
|
cp \${WORKSPACE}/cmus-remote %{buildroot}/usr/bin/
|
||||||
|
|
||||||
%files
|
%files
|
||||||
/usr/bin/cmus
|
/usr/bin/cmus
|
||||||
@@ -75,7 +79,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Release Kontrol Et ve RPM'i Yükle
|
- name: Release Kontrol Et ve RPM'i Yükle
|
||||||
run: |
|
run: |
|
||||||
# 1. Dosyaya benzersiz bir isim verelim (Aynı isimde dosya yükleme hatasını önlemek için)
|
# 1. Dosyaya Commit ID'sini ekleyerek benzersiz bir isim ver (Çakışmayı önler)
|
||||||
SHORT_SHA=$(git rev-parse --short HEAD)
|
SHORT_SHA=$(git rev-parse --short HEAD)
|
||||||
NEW_RPM_NAME="cmus-custom-${SHORT_SHA}.x86_64.rpm"
|
NEW_RPM_NAME="cmus-custom-${SHORT_SHA}.x86_64.rpm"
|
||||||
mv *.rpm $NEW_RPM_NAME
|
mv *.rpm $NEW_RPM_NAME
|
||||||
@@ -87,9 +91,15 @@ jobs:
|
|||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d '{"tag_name": "v1.0", "name": "Fedora Build v1.0", "body": "Otomatik RPM derlemesi", "draft": false, "prerelease": false}' || true
|
-d '{"tag_name": "v1.0", "name": "Fedora Build v1.0", "body": "Otomatik RPM derlemesi", "draft": false, "prerelease": false}' || true
|
||||||
|
|
||||||
# 3. 'v1.0' etiketli sürümün tam ID'sini 'jq' kullanarak %100 güvenli şekilde al
|
# 3. 'v1.0' etiketli sürümün tam ID'sini 'jq' kullanarak güvenli şekilde al
|
||||||
RELEASE_ID=$(curl -s -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
|
RELEASE_ID=$(curl -s -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
|
||||||
"https://git.y1lm0z.me/api/v1/repos/${{ gitea.repository }}/releases/tags/v1.0" | jq '.id')
|
"https://git.y1lm0z.me/api/v1/repos/${{ gitea.repository }}/releases/tags/v1.0" | jq -r '.id')
|
||||||
|
|
||||||
|
# ID bulunamazsa güvenli çıkış yap (Sonsuz hatayı önler)
|
||||||
|
if [ -z "$RELEASE_ID" ] || [ "$RELEASE_ID" == "null" ]; then
|
||||||
|
echo "HATA: Release ID bulunamadı! Token veya izinleri kontrol edin."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# 4. Benzersiz isme sahip RPM dosyasını o ID'ye yükle
|
# 4. Benzersiz isme sahip RPM dosyasını o ID'ye yükle
|
||||||
curl -X 'POST' \
|
curl -X 'POST' \
|
||||||
|
|||||||
Reference in New Issue
Block a user