Merge pull request #62 from VCTLabs/develop #155
This file contains hidden or 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: procman RPMs | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: | |
| - master | |
| jobs: | |
| get_version: | |
| name: Get version info | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| shell: bash | |
| outputs: | |
| version: ${{ steps.spec_ver.outputs.version }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Get package version | |
| id: spec_ver | |
| run: | | |
| version=$(make version) | |
| echo "version=${version}" >> $GITHUB_OUTPUT | |
| echo Version from spec: $version | |
| env: | |
| NAME: python-procman | |
| build_rpms: | |
| name: procman-rpms | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| name: [rocky9] | |
| include: | |
| - name: rocky9 | |
| spec: python-procman | |
| image: quay.io/rockylinux/rockylinux:9 | |
| runs-on: ubuntu-latest | |
| needs: [get_version] | |
| container: | |
| image: ${{ matrix.image }} | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| shell: bash | |
| env: | |
| PYTHONIOENCODING: utf-8 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| # Work-around for https://github.com/actions/runner-images/issues/6775 | |
| - name: Change Owner of Container Working Directory | |
| if: matrix.image | |
| run: chown root.root . | |
| - name: Check version | |
| env: | |
| VERSION: ${{ needs.get_version.outputs.version }} | |
| run: | | |
| echo Dev version from get_version step: $VERSION | |
| - name: Install deps for rpm builds (centos/rocky) | |
| run: | | |
| bash scripts/install_deps_el9.sh | |
| dnf install -y https://github.com/VCTLabs/el9-rpm-toolbox/releases/download/honcho-2.0.0.1/python3-honcho-2.0.0.1-1.el9.noarch.rpm | |
| - name: Build rpm pkgs | |
| run: | | |
| NAME="${{ matrix.spec }}" make packages | |
| env: | |
| SETUPTOOLS_SCM_PRETEND_VERSION: ${{ needs.get_version.outputs.version }} | |
| VERSION: ${{ needs.get_version.outputs.version }} | |
| - name: Upload rpm files | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: packages | |
| path: | | |
| tmp/RPMS/*/*.rpm | |
| tmp/SRPMS/*.rpm | |
| create-release: | |
| name: Create procman Release | |
| runs-on: ubuntu-latest | |
| needs: [get_version, build_rpms] | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Download Artifacts | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: packages | |
| path: packages | |
| - name: List Artifacts | |
| run: find . -maxdepth 3 -name \*.rpm | |
| - name: Fetch tags | |
| run: git fetch --tags --prune --quiet | |
| - name: Tag Release | |
| id: tag_release | |
| if: ${{ github.event_name != 'pull_request' }} | |
| run: | | |
| set +e | |
| if git rev-list "procman-${{ needs.get_version.outputs.version }}" >/dev/null 2>&1 ; then | |
| echo "Tag for procman-${{ needs.get_version.outputs.version }} already exists. Skipping release creation." | |
| echo "NEW_RELEASE=false" >> $GITHUB_OUTPUT | |
| else | |
| git tag "procman-${{ needs.get_version.outputs.version }}" | |
| git push origin "procman-${{ needs.get_version.outputs.version }}" | |
| echo "NEW_RELEASE=true" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Create draft release | |
| id: create_release | |
| if: ${{ github.event_name != 'pull_request' && steps.tag_release.outputs.NEW_RELEASE == 'true' }} | |
| uses: softprops/action-gh-release@v2 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| tag_name: procman-${{ needs.get_version.outputs.version }} | |
| name: RPM Release procman-${{ needs.get_version.outputs.version }} | |
| body: Latest RPMs for procman-${{ needs.get_version.outputs.version }} | |
| draft: false | |
| prerelease: false | |
| files: | | |
| packages/RPMS/*/*.rpm | |
| packages/SRPMS/*.rpm |