From f295cd676bdac292f89aa0b57289de67ac68e872 Mon Sep 17 00:00:00 2001 From: Blake Gardner Date: Wed, 25 Sep 2024 08:36:56 -0500 Subject: [PATCH] Add actions build --- .github/workflows/rpm.yml | 83 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/rpm.yml diff --git a/.github/workflows/rpm.yml b/.github/workflows/rpm.yml new file mode 100644 index 0000000..8bb9877 --- /dev/null +++ b/.github/workflows/rpm.yml @@ -0,0 +1,83 @@ +name: Build RPM Packages + +on: + push: + branches: + - master + pull_request: + branches: + - master + workflow_dispatch: + +jobs: + build: + # Specify the runner + runs-on: ubuntu-latest + + # Run the job inside a Fedora container + container: + image: fedora:40 + options: --privileged + + steps: + # Checkout the repository + - name: Checkout the repository + uses: actions/checkout@v3 + + # Install Required Packages + - name: Install Required Packages + run: | + # Update the package index + dnf -y update + + # Install RPM build tools and dependencies + dnf install -y rpm-build rpmdevtools dnf-plugins-core + + # Install 'builddep' command for DNF + dnf install -y 'dnf-command(builddep)' + + # Install spectool for downloading sources + dnf install -y spectool + + # Set up RPM build environment + rpmdev-setuptree + + # Copy Spec and Source Files + - name: Copy Spec and Source Files + run: | + # Copy xremap.spec to SPECS directory + cp xremap.spec ~/rpmbuild/SPECS/ + + # Copy 00-xremap-input.rules to SOURCES directory + cp 00-xremap-input.rules ~/rpmbuild/SOURCES/ + + # Download the Source Tarball + - name: Download Source Tarball + run: | + cd ~/rpmbuild/SPECS + + # Download sources defined in the spec file + spectool -g -R xremap.spec + + # Install Build Dependencies + - name: Install Build Dependencies + run: | + # Install packages required to build xremap + dnf builddep -y ~/rpmbuild/SPECS/xremap.spec + + # Build the RPM Packages + - name: Build RPM Packages + run: | + cd ~/rpmbuild/SPECS + + # Build both source and binary RPMs + rpmbuild -ba xremap.spec + + # Upload RPM Packages as Artifacts + - name: Upload RPM Packages + uses: actions/upload-artifact@v3 + with: + name: rpm-packages + path: | + ~/rpmbuild/RPMS/**/*.rpm + ~/rpmbuild/SRPMS/*.rpm