From 5b67927a728185d92d3f0fa7a672e886759be9aa Mon Sep 17 00:00:00 2001 From: Miguel Alvarez Date: Wed, 24 Apr 2024 15:49:03 +0100 Subject: [PATCH] Added ../rpm.yml to .github/workflows/ --- .github/workflows/rpm.yml | 66 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 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..03352e5 --- /dev/null +++ b/.github/workflows/rpm.yml @@ -0,0 +1,66 @@ +name: RPM Build and Upload + +on: + push: + branches: + - 'master' + - 'main' + +jobs: + build: + runs-on: ubuntu-latest + + env: + ACTIONS_ALLOW_UNSECURE_COMMANDS: true + + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Create tag based on metadata.rb + id: create_tag + run: | + TAG=$(grep -o 'version\s*["'\''][^"'\'']*' ./resources/metadata.rb | sed 's/version\s*["'\'']//;s/["'\'']//') + echo "TAG=$TAG" >> $GITHUB_ENV + shell: bash + + - name: Set Version + run: echo "VERSION=${{ env.TAG }}" >> $GITHUB_ENV + + - name: Run Docker Container + run: docker run --privileged -d --name builder --network host rockylinux:9 /bin/sleep infinity + + - name: Install build tools RPM + run: | + docker cp ./ builder:/build + docker exec builder bash -c "yum install -y epel-release && yum install -y make git mock" + docker exec builder bash -c "rm -rf /etc/mock/default.cfg" + + - name: Setup SDK + run: | + docker exec builder bash -c "curl https://raw.githubusercontent.com/redBorder/repoinit/master/sdk9.cfg > /build/sdk9.cfg" + docker exec builder bash -c "echo \"config_opts['use_host_resolv'] = True\" >> /build/sdk9.cfg" + docker exec builder bash -c "ln -s /build/sdk9.cfg /etc/mock/default.cfg" + + - name: Build RPM using mock + run: | + docker exec builder bash -c "git config --global --add safe.directory /build" + docker exec builder bash -c "cd /build/ && VERSION=${{ env.TAG }} make rpm" + + - name: Copy RPMS + run: | + docker cp builder:/build/packaging/rpm/pkgs/. ./rpms + + - name: Delete non-.rpm files + run: | + find ./rpms -type f -not -name '*.rpm' -exec rm {} \; + + - name: Release + uses: softprops/action-gh-release@v1 + with: + files: ./rpms/* + tag_name: ${{ env.TAG }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}