move srpm packaging to separate job #4
Workflow file for this run
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 packages for toolenv | |
on: | |
push: | |
workflow_dispatch: | |
env: | |
PACKAGE_VERSION: ${{ github.ref_name }} | |
PACKAGE_NAME: ${{ github.event.repository.name }} | |
jobs: | |
create_tarball: | |
name: Create tarball file | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ env.PACKAGE_VERSION }} | |
fetch-depth: 0 | |
- name: Make the sources directory | |
run: | | |
mkdir "${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}" | |
cp data/toolenv.sh "${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}" | |
cp toolenv "${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}" | |
- name: Compress the sources directory into a tarball | |
run: | | |
tar --create --file "${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}.tar.gz" "${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}" | |
- name: Upload the tarball | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}.tar.gz | |
path: ${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}.tar.gz | |
build_rpm: | |
runs-on: ubuntu-latest | |
needs: create_tarball | |
container: fedora:${{ matrix.fedora-version }} | |
strategy: | |
matrix: | |
fedora-version: [37, 38, 39] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ env.PACKAGE_VERSION }} | |
fetch-depth: 0 | |
- name: Install RPM packaging tools | |
run: | | |
dnf install -y rpmdevtools rpmlint | |
- name: Setup RPM directory structure | |
run: | | |
rpmdev-setuptree | |
- name: Download toolenv tarball | |
uses: actions/download-artifact@v3 | |
with: | |
name: ${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}.tar.gz | |
- name: Move tarball to SOURCES directory | |
run: | | |
mv "${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}.tar.gz" $(rpm --eval '%{_sourcedir}') | |
- name: Move spec file to SPECS directory | |
run: | | |
mv rpm/toolenv.spec $(rpm --eval '%{_specdir}') | |
- name: Build the RPM package | |
run: | | |
rpmbuild -bb "$(rpm --eval '%{_specdir}')/toolenv.spec" | |
- name: Set RPM package path variable | |
run: | | |
echo "RPM_PACKAGE_PATH=$(rpm --eval '%{_rpmdir}')/noarch/${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-1.fc${{ matrix.fedora-version }}.noarch.rpm" >> $GITHUB_ENV | |
- name: Upload the RPM package | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-1.fc${{ matrix.fedora-version }}.noarch.rpm | |
path: ${{ env.RPM_PACKAGE_PATH }} | |
- name: Release the RPM package | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
draft: false | |
generate_release_notes: true | |
files: ${{ env.RPM_PACKAGE_PATH }} | |
build_srpm: | |
runs-on: ubuntu-latest | |
needs: create_tarball | |
container: fedora:39 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ env.PACKAGE_VERSION }} | |
fetch-depth: 0 | |
- name: Install RPM packaging tools | |
run: | | |
dnf install -y rpmdevtools rpmlint | |
- name: Setup RPM directory structure | |
run: | | |
rpmdev-setuptree | |
- name: Download toolenv tarball | |
uses: actions/download-artifact@v3 | |
with: | |
name: ${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}.tar.gz | |
- name: Move tarball to SOURCES directory | |
run: | | |
mv "${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}.tar.gz" $(rpm --eval '%{_sourcedir}') | |
- name: Move spec file to SPECS directory | |
run: | | |
mv rpm/toolenv.spec $(rpm --eval '%{_specdir}') | |
- name: Build the SRPM package | |
run: | | |
rpmbuild -bs "$(rpm --eval '%{_specdir}')/toolenv.spec" | |
- name: Rename the SRPM package | |
run: | | |
mv $(rpm --eval '%{_srcrpmdir}')/${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-1.fc${{ matrix.fedora-version }}.src.rpm $(rpm --eval '%{_srcrpmdir}')/${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-1.src.rpm | |
- name: Set SRPM package path variable | |
run: | | |
echo "SRPM_PACKAGE_PATH=$(rpm --eval '%{_srcrpmdir}')/${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-1.src.rpm" >> $GITHUB_ENV | |
- name: Upload the SRPM package | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-1.src.rpm | |
path: ${{ env.SRPM_PACKAGE_PATH }} | |
- name: Release the SRPM package | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
draft: false | |
generate_release_notes: true | |
files: ${{ env.SRPM_PACKAGE_PATH }} |