name: Push packagecloud (REUSABLE) on: workflow_call: inputs: SEPARATOR: required: true type: string SUFFIX: required: true type: string REPO: required: true type: string LINUX: required: true type: string VERSION: required: true type: string PACKAGE: required: true type: string BW_VERSION: required: true type: string ARCH: required: true type: string PACKAGE_ARCH: required: true type: string secrets: PACKAGECLOUD_TOKEN: required: true jobs: push: runs-on: ubuntu-latest steps: # Prepare - name: Check out repository code uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Install ruby uses: ruby/setup-ruby@a05e47355e80e57b9a67566a813648fa67d92011 # v1.157.0 with: ruby-version: "3.0" - name: Install packagecloud run: gem install package_cloud # Download packages - uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 if: inputs.LINUX != 'el' with: name: package-${{ inputs.LINUX }}-${{ inputs.PACKAGE_ARCH }} path: /tmp/${{ inputs.LINUX }} - uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 if: inputs.LINUX == 'el' with: name: package-rhel-${{ inputs.PACKAGE_ARCH }} path: /tmp/${{ inputs.LINUX }} # Remove existing packages - name: Remove existing package run: package_cloud yank bunkerity/${{ inputs.REPO }}/${{ inputs.LINUX }}/${{ inputs.VERSION }} bunkerweb${{ inputs.SEPARATOR }}${{ inputs.BW_VERSION }}${{ inputs.SEPARATOR }}${{ inputs.SUFFIX }}${{ inputs.PACKAGE_ARCH }}.${{ inputs.PACKAGE }} continue-on-error: true env: PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} # Update name # - name: Rename package # if: inputs.BW_VERSION == 'testing' # run: sudo apt install -y rename && rename 's/[0-9]\.[0-9]\.[0-9]/testing/' /tmp/${{ inputs.LINUX }}/*.${{ inputs.PACKAGE }} # Push package - name: Push package to packagecloud uses: danielmundi/upload-packagecloud@46cd0e61152bf952dbc0d1759e609d3d22649030 # v1 with: PACKAGE-NAME: /tmp/${{ inputs.LINUX }}/*.${{ inputs.PACKAGE }} PACKAGECLOUD-USERNAME: bunkerity PACKAGECLOUD-REPO: ${{ inputs.REPO }} PACKAGECLOUD-DISTRIB: ${{ inputs.LINUX }}/${{ inputs.VERSION }} PACKAGECLOUD-TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}