Skip to content

v1.0.9

v1.0.9 #49

Workflow file for this run

name: Build Linux Packages
on:
release:
types: [published]
env:
PKG_NAME: dynflowparser
DIST: el7
ARCH: noarch
jobs:
build_tarball:
name: Build source archive
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Replace version in RPM spec so correct source is downloaded when building RPM
run: sed -Ei 's/(^Version:[[:space:]]*).*/\1${{github.ref_name}}/' ${{ env.PKG_NAME }}.spec
- name: Create source archive
run: tar -zcvf ${{ env.PKG_NAME }}-${{ github.ref_name }}.tar.gz *
- name: Upload source archive as artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.PKG_NAME }}-${{ github.ref_name }}.tar.gz
path: ${{ env.PKG_NAME }}-${{ github.ref_name }}.tar.gz
build_rpm:
name: Build .rpm package
needs: build_tarball
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Replace version in RPM spec so correct source is downloaded when building RPM
run: sed -Ei 's/(^Version:[[:space:]]*).*/\1${{github.ref_name}}/' ${{ env.PKG_NAME }}.spec
- name: Run rpmbuild on RPM spec to produce package
id: rpm
uses: naveenrajm7/rpmbuild@master
#uses: naveenrajm7/rpmbuild@centos8
with:
spec_file: ${{ env.PKG_NAME }}.spec
# additional_repos: "['centos-release-scl', 'http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm']"
- name: Upload .rpm package as artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.PKG_NAME }}-${{ github.ref_name }}-1.${{ env.DIST }}.${{ env.ARCH }}.rpm
path: rpmbuild/RPMS/${{ env.ARCH }}/*.rpm
build_deb:
name: Build .deb package
needs: build_rpm
runs-on: ubuntu-latest
steps:
- name: Download .rpm artifact
uses: actions/download-artifact@v4
id: download
with:
name: ${{ env.PKG_NAME }}-${{ github.ref_name }}-1.${{ env.DIST }}.${{ env.ARCH }}.rpm
- name: Convert .rpm to .deb
run: |
sudo apt install -y alien
sudo alien -k --verbose --to-deb *.rpm
- name: Upload .deb package as artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.PKG_NAME }}-${{ github.ref_name }}-1.${{ env.DIST }}.${{ env.ARCH }}.deb
path: ${{ env.PKG_NAME }}*.deb
release:
name: Create release with all assets
needs: [build_tarball, build_rpm, build_deb]
runs-on: ubuntu-latest
steps:
- name: Download cached rpm, deb, and tar.gz artifacts
uses: actions/download-artifact@v4
- name: Release
uses: softprops/action-gh-release@v1
with:
files: |
${{ env.PKG_NAME }}-${{ github.ref_name }}.tar.gz/*.tar.gz
${{ env.PKG_NAME }}-${{ github.ref_name }}-1.${{ env.DIST }}.${{ env.ARCH }}.rpm/**/*.rpm
${{ env.PKG_NAME }}-${{ github.ref_name }}-1.${{ env.DIST }}.${{ env.ARCH }}.deb/**/*.deb