mirror of
https://github.com/ekaaty/ca-certificates-brazil.git
synced 2025-12-06 01:22:38 -03:00
Added build RPM workflow
This commit is contained in:
83
.github/workflows/build-rpm.yml
vendored
Normal file
83
.github/workflows/build-rpm.yml
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
name: Build RPM Package
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: [auto-tag]
|
||||
types: [completed]
|
||||
push:
|
||||
tags:
|
||||
- v[0-9]+.[0-9]+.[0-9]+
|
||||
|
||||
jobs:
|
||||
build-upload-rpm:
|
||||
name: Build and upload RPM packages
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: fedora:latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: install RPM build tools
|
||||
run: |
|
||||
dnf -y install \
|
||||
cmake \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
git \
|
||||
rpm-build \
|
||||
rpmdevtools \
|
||||
tar
|
||||
|
||||
- name: Setup RPM build tree
|
||||
run: |
|
||||
rpmdev-setuptree
|
||||
|
||||
- name: Create source tarball
|
||||
run: |
|
||||
cmake --fresh -B build -S .
|
||||
cmake --build build --target sdist
|
||||
|
||||
- name: Set environment variables
|
||||
run: |
|
||||
echo "PKG_VERSION=$(cat build/version)" >> $GITHUB_ENV
|
||||
echo "PKG_NAME=$(grep -Po 'Name:\ *\K[\S ]*' \
|
||||
packaging/pkg.spec.in)" >> $GITHUB_ENV
|
||||
|
||||
- name: Copy SOURCES and SPEC file
|
||||
run: |
|
||||
cp packaging/pkg.spec.in ~/rpmbuild/SPECS/${PKG_NAME}.spec
|
||||
rpmdev-bumpspec -n ${PKG_VERSION} ~/rpmbuild/SPECS/${PKG_NAME}.spec
|
||||
cp dist/*.src.tar.gz ~/rpmbuild/SOURCES/
|
||||
|
||||
- name: Build RPM packages
|
||||
run: |
|
||||
dnf -y builddep ~/rpmbuild/SPECS/${PKG_NAME}.spec
|
||||
rpmbuild -ba ~/rpmbuild/SPECS/${PKG_NAME}.spec
|
||||
|
||||
- name: Upload built SRPM/RPM packages
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: artifact-built-rpms
|
||||
path: |
|
||||
~/rpmbuild/RPMS/
|
||||
~/rpmbuild/SRPMS/
|
||||
|
||||
- name: Check if package version has corresponding git tag
|
||||
id: tagged
|
||||
shell: bash
|
||||
run: |
|
||||
git show-ref \
|
||||
--tags --verify --quiet -- \
|
||||
"refs/tags/${NEW_TAG}" \
|
||||
&& echo tagged=1 >> $GITHUB_OUTPUT \
|
||||
|| echo tagged=0 >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Create GitHub Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: github.ref_type == 'tag' && steps.tagged.output.tagged == 1
|
||||
with:
|
||||
generate_release_notes: false
|
||||
files: |
|
||||
~/rpmbuild/RPMS/*/*.rpm
|
||||
~/rpmbuild/SRPMS/*.rpm
|
||||
Reference in New Issue
Block a user