name: Build Salt Packages on: workflow_call: inputs: salt-version: type: string required: true description: The Salt version to set prior to building packages. jobs: build: name: RPM runs-on: - self-hosted - linux - ${{ matrix.arch }} strategy: fail-fast: false max-parallel: 2 matrix: arch: - x86_64 - aarch64 container: image: ghcr.io/saltstack/salt-ci-containers/centos:stream9 steps: - uses: actions/checkout@v3 - name: Download Onedir Tarball as an Artifact uses: actions/download-artifact@v3 with: name: salt-${{ inputs.salt-version }}-onedir-linux-${{ matrix.arch }}.tar.xz path: artifacts/ - name: Download System Dependencies run: | yum -y update yum -y install python3 python3-pip openssl git rpmdevtools rpmlint systemd-units libxcrypt-compat - name: Build RPM env: SALT_ONEDIR_ARCHIVE: "${{ github.workspace }}/artifacts/salt-${{ inputs.salt-version }}-onedir-linux-${{ matrix.arch }}.tar.xz" run: | echo "${{ inputs.salt-version }}" > salt/_version.txt rpmbuild -bb --define="_salt_src $(pwd)" $(pwd)/pkg/rpm/salt.spec - name: Upload RPMs uses: actions/upload-artifact@v3 with: name: salt-${{ matrix.arch }}-rpms path: ~/rpmbuild/RPMS/${{ matrix.arch }}/*.rpm retention-days: 7 if-no-files-found: error