name: Publish Linux Packages on: workflow_call: inputs: ziti-version: description: generated by 'ziti-ci get-current-version' type: string required: true jobs: publish-linux-packages: runs-on: ubuntu-latest strategy: matrix: package_name: - ziti-cli arch: - goreleaser: amd64 gox: amd64 deb: amd64 rpm: x86_64 - goreleaser: arm64 gox: arm64 deb: arm64 rpm: aarch64 - goreleaser: armv7 gox: arm deb: armv7 rpm: armv7 nfpm_packager: - rpm - deb # - archlinux # (pacman) # - apk env: ZITI_VERSION: ${{ inputs.ziti-version || github.event.inputs.ziti-version }} ZITI_MAINTAINER: "OpenZiti Maintainers " ZITI_HOMEPAGE: "https://openziti.io" ZITI_VENDOR: "NetFoundry" GOARCH: ${{ matrix.arch.goreleaser }} ZITI_DEB_REPO: ${{ vars.ZITI_DEB_REPO || 'zitipax-openziti-deb-stable' }} ZITI_RPM_REPO: ${{ vars.ZITI_RPM_REPO || 'zitipax-openziti-rpm-stable' }} steps: - name: Checkout Workspace uses: actions/checkout@v3 - name: Download Linux Release Artifacts uses: actions/download-artifact@v3 with: name: linux-release-${{ github.run_id }} path: release/ - name: Move Release Artifact for Architecture to Predictable Location for nfpm run: | mv -v ./release/${{ matrix.arch.gox }}/linux/ziti \ ./release/ziti - name: Build Package id: nfpm uses: burningalchemist/action-gh-nfpm@v1 # uses: netfoundry/action-gh-nfpm@main with: nfpm_version: "2.32.0" packager: ${{ matrix.nfpm_packager }} config: dist/dist-packages/linux/nfpm-${{ matrix.package_name }}.yaml target: release/ - name: get the package name from the output run: echo ${{ steps.nfpm.outputs.package }} shell: bash - run: ls -lh release/ - name: upload package artifact to build summary page uses: actions/upload-artifact@v3 with: name: ${{ matrix.package_name }}-${{ matrix.arch.goreleaser }}-${{ matrix.nfpm_packager }} path: ./release/${{ matrix.package_name }}*.${{ matrix.nfpm_packager }} if-no-files-found: error - name: Configure jFrog CLI uses: jfrog/setup-jfrog-cli@v3 env: JF_ENV_1: ${{ secrets.ZITI_ARTIFACTORY_CLI_CONFIG_PACKAGE_UPLOAD }} - name: Upload RPM to Artifactory testing repo if: ${{ !github.event.release.published && matrix.nfpm_packager == 'rpm' }} run: > jf rt upload ./release/${{ matrix.package_name }}*.${{ matrix.nfpm_packager }} /${{ env.ZITI_RPM_REPO }}/testing/${{ matrix.arch.rpm }}/ --recursive=false --flat=true - name: Upload RPM to Artifactory release repo if: ${{ github.event.release.published && matrix.nfpm_packager == 'rpm' }} run: > jf rt upload ./release/${{ matrix.package_name }}*.${{ matrix.nfpm_packager }} /${{ env.ZITI_RPM_REPO }}/release/${{ matrix.arch.rpm }}/ --recursive=false --flat=true - name: Upload DEB to Artifactory testing repo if: ${{ !github.event.release.published && matrix.nfpm_packager == 'deb' }} run: > jf rt upload ./release/${{ matrix.package_name }}*.${{ matrix.nfpm_packager }} /${{ env.ZITI_DEB_REPO }}/pool/${{ matrix.package_name }}/testing/${{ matrix.arch.deb }}/ --deb=testing/main/${{ matrix.arch.deb }} --recursive=false --flat=true - name: Upload DEB to Artifactory release repo if: ${{ github.event.release.published && matrix.nfpm_packager == 'deb' }} run: > jf rt upload ./release/${{ matrix.package_name }}*.${{ matrix.nfpm_packager }} /${{ env.ZITI_DEB_REPO }}/pool/${{ matrix.package_name }}/release/${{ matrix.arch.deb }}/ --deb=release/main/${{ matrix.arch.deb }} --recursive=false --flat=true