github: fix build-appimage #23
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build RPM Package | |
on: | |
push: | |
branches: | |
- main | |
- master | |
pull_request: | |
branches: | |
- main | |
- master | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Determine Version | |
id: version | |
run: | | |
# Get the most recent tag | |
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0") | |
# Check if the latest commit is tagged | |
TAGGED_COMMIT=$(git describe --tags --exact-match 2>/dev/null || echo "notag") | |
if [ "$TAGGED_COMMIT" = "notag" ]; then | |
VERSION="${LATEST_TAG}+" | |
DIST="-git" | |
else | |
VERSION=$LATEST_TAG | |
DIST="" | |
fi | |
echo "VERSION=$VERSION" >> $GITHUB_ENV | |
echo "DIST=$DIST" >> $GITHUB_ENV | |
- name: Build RPM | |
run: | | |
docker run --rm -v $(pwd):/workspace -w /workspace almalinux:9 /bin/bash -c " | |
# Install dependencies | |
dnf install -y epel-release | |
dnf install -y gcc make automake autoconf gtk3-devel gettext-devel libtool \ | |
rpm-build rpmdevtools git | |
# Prepare the RPM build environment | |
rpmdev-setuptree | |
# Generate the spec file | |
./autogen.sh | |
cp xnec2c.spec.in xnec2c.spec | |
sed -i 's|%{version}|${VERSION}|g' xnec2c.spec | |
sed -i 's|%{dist}|${DIST}|g' xnec2c.spec | |
# Build the RPM | |
rpmbuild -ba --define \"_version ${VERSION}\" --define \"_dist ${DIST}\" \ | |
--define \"_topdir /root/rpmbuild\" xnec2c.spec | |
# Check the RPM files | |
ls -l /root/rpmbuild/RPMS/x86_64 | |
" | |
- name: Install and Test RPM | |
run: | | |
docker run --rm -v $(pwd):/workspace -w /workspace almalinux:9 /bin/bash -c " | |
# Install the RPM package | |
dnf install -y /root/rpmbuild/RPMS/x86_64/xnec2c-*.rpm | |
# Run the test to verify the package | |
xnec2c -h | |
" | |
- name: Upload RPM | |
uses: actions/upload-artifact@v2 | |
with: | |
name: xnec2c-rpm | |
path: /root/rpmbuild/RPMS/x86_64/xnec2c-*.rpm |