This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -1,29 +0,0 @@
|
|||||||
Name: hello
|
|
||||||
Version: 0.0.1
|
|
||||||
Release: 1%{?dist}
|
|
||||||
Summary: A simple hello world script
|
|
||||||
BuildArch: noarch
|
|
||||||
|
|
||||||
License: GPLv3+
|
|
||||||
URL: http://git.phyllo.me/
|
|
||||||
Source0: %{name}-%{version}.tar.gz
|
|
||||||
|
|
||||||
Requires: bash
|
|
||||||
|
|
||||||
%description
|
|
||||||
A demo RPM build
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q
|
|
||||||
|
|
||||||
%install
|
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_bindir}
|
|
||||||
cp %{name}.sh $RPM_BUILD_ROOT/%{_bindir}
|
|
||||||
|
|
||||||
%files
|
|
||||||
%{_bindir}/%{name}.sh
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Wed Jul 09 2025 Lukas Greve <please@refre.ch> - 0.0.1
|
|
||||||
- First version being packaged
|
|
||||||
Binary file not shown.
@@ -1,84 +0,0 @@
|
|||||||
name: Build and Publish RPM
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
tags:
|
|
||||||
- 'v*'
|
|
||||||
|
|
||||||
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: Setup RPM build environment
|
|
||||||
run: |
|
|
||||||
mkdir -p ~/rpmbuild/{SOURCES,SPECS,BUILD,RPMS,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 and source
|
|
||||||
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
|
|
||||||
if: github.ref_type == 'tag'
|
|
||||||
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: github.ref_type == 'tag'
|
|
||||||
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