This commit is contained in:
82
.gitea/workflows/build-publish-rpm.yaml
Normal file
82
.gitea/workflows/build-publish-rpm.yaml
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
name: Build and Publish RPM
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-publish:
|
||||||
|
runs-on: fedora
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
container:
|
||||||
|
image: git.phyllo.me/devops/fedora-runner-image:latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Create build directory
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
||||||
|
echo "%_topdir %(echo $HOME)/rpmbuild" > ~/.rpmmacros
|
||||||
|
|
||||||
|
- name: Create source archive
|
||||||
|
run: |
|
||||||
|
tar -czf hello-0.0.1.tar.gz hello.sh
|
||||||
|
|
||||||
|
- name: Copy spec file
|
||||||
|
run: |
|
||||||
|
cp hello.spec ~/rpmbuild/SPECS/
|
||||||
|
cp hello-0.0.1.tar.gz ~/rpmbuild/SOURCES/
|
||||||
|
|
||||||
|
- name: Build RPM
|
||||||
|
run: |
|
||||||
|
cd ~/rpmbuild
|
||||||
|
rpmbuild -ba SPECS/hello.spec
|
||||||
|
|
||||||
|
# - name: Publish RPM to Gitea
|
||||||
|
# run: |
|
||||||
|
# # Extract version from spec file
|
||||||
|
# VERSION=$(grep -E "^Version:" hello.spec | cut -d: -f2 | xargs)
|
||||||
|
# echo "Version: $VERSION"
|
||||||
|
#
|
||||||
|
# # Find built RPM
|
||||||
|
# RPM_FILE=$(find ~/rpmbuild -name "*.rpm" -type f | head -1)
|
||||||
|
# echo "RPM file: $RPM_FILE"
|
||||||
|
#
|
||||||
|
# # Publish to Gitea
|
||||||
|
# if [ -n "$GITEA_TOKEN" ] && [ -n "$GITEA_OWNER" ]; then
|
||||||
|
# curl -u "$GITEA_OWNER:$GITEA_TOKEN" \
|
||||||
|
# --upload-file "$RPM_FILE" \
|
||||||
|
# "https://gitea.example.com/api/packages/$GITEA_OWNER/rpm/upload"
|
||||||
|
# else
|
||||||
|
# echo "Missing GITEA_TOKEN or GITEA_OWNER environment variables"
|
||||||
|
# exit 1
|
||||||
|
# fi
|
||||||
|
#
|
||||||
|
# - name: Publish RPM with group
|
||||||
|
# if: ${{ contains(github.ref, 'v') }}
|
||||||
|
# run: |
|
||||||
|
# # Extract version from spec file
|
||||||
|
# VERSION=$(grep -E "^Version:" hello.spec | cut -d: -f2 | xargs)
|
||||||
|
# echo "Version: $VERSION"
|
||||||
|
#
|
||||||
|
# # Find built RPM
|
||||||
|
# RPM_FILE=$(find ~/rpmbuild -name "*.rpm" -type f | head -1)
|
||||||
|
# echo "RPM file: $RPM_FILE"
|
||||||
|
#
|
||||||
|
# # Publish to Gitea with group (using tag name as group)
|
||||||
|
# TAG_NAME=${GITHUB_REF#refs/tags/}
|
||||||
|
# echo "Publishing to group: $TAG_NAME"
|
||||||
|
#
|
||||||
|
# if [ -n "$GITEA_TOKEN" ] && [ -n "$GITEA_OWNER" ]; then
|
||||||
|
# curl -u "$GITEA_OWNER:$GITEA_TOKEN" \
|
||||||
|
# --upload-file "$RPM_FILE" \
|
||||||
|
# "https://gitea.example.com/api/packages/$GITEA_OWNER/rpm/$TAG_NAME/upload"
|
||||||
|
# else
|
||||||
|
# echo "Missing GITEA_TOKEN or GITEA_OWNER environment variables"
|
||||||
|
# exit 1
|
||||||
|
# fi
|
||||||
|
#
|
||||||
Reference in New Issue
Block a user