1515 type : boolean
1616 default : true
1717
18+ env :
19+ NFPM_VERSION : " 2.43.1"
20+
1821concurrency :
1922 # make publishing release concurrent (but others trigger not)
2023 group : building-releases-${{ inputs.publish-release && 'prerelease' || github.run_id }}
@@ -194,6 +197,8 @@ jobs:
194197
195198 make-tarball-rhel :
196199 runs-on : ubuntu-latest
200+ # temporarily disable due to unavailability of latest deno in conda-forge
201+ if : false
197202 needs : [configure]
198203 steps :
199204 - uses : actions/checkout@v4
@@ -240,9 +245,13 @@ jobs:
240245 name : RHEL Zip
241246 path : ./package/quarto-${{needs.configure.outputs.version}}-linux-rhel7-amd64.tar.gz
242247
243- make-installer-arm64-deb :
248+ make-installer-linux :
244249 runs-on : ubuntu-latest
245250 needs : [configure]
251+ strategy :
252+ matrix :
253+ arch : [x86_64, aarch64]
254+ format : [deb, rpm]
246255 steps :
247256 - uses : actions/checkout@v4
248257 with :
@@ -256,57 +265,47 @@ jobs:
256265 run : |
257266 ./configure.sh
258267
259- - name : Prepare Distribution
268+ - name : Install nfpm
260269 run : |
261- pushd package/src/
262- ./quarto-bld prepare-dist --set-version ${{needs.configure.outputs.version}} --arch aarch64 --log-level info
263- popd
264-
265- - name : Make Installer
266- run : |
267- pushd package/src/
268- ./quarto-bld make-installer-deb --set-version ${{needs.configure.outputs.version}} --arch aarch64 --log-level info
269- popd
270-
271- - name : Upload Artifact
272- uses : actions/upload-artifact@v4
273- with :
274- name : Deb Arm64 Installer
275- path : ./package/out/quarto-${{needs.configure.outputs.version}}-linux-arm64.deb
276-
277- make-installer-deb :
278- runs-on : ubuntu-latest
279- needs : [configure]
280- steps :
281- - uses : actions/checkout@v4
282- with :
283- ref : ${{ needs.configure.outputs.version_commit }}
284-
285- - name : Prevent Re-run
286- if : ${{ inputs.publish-release }}
287- uses : ./.github/workflows/actions/prevent-rerun
288-
289- - name : Configure
290- run : |
291- ./configure.sh
270+ wget -q https://github.com/goreleaser/nfpm/releases/download/v${NFPM_VERSION}/nfpm_${NFPM_VERSION}_Linux_x86_64.tar.gz
271+ tar -xzf nfpm_${NFPM_VERSION}_Linux_x86_64.tar.gz
272+ sudo mv nfpm /usr/local/bin/
273+ nfpm --version
292274
293275 - name : Prepare Distribution
294276 run : |
295277 pushd package/src/
296- ./quarto-bld prepare-dist --set-version ${{needs.configure.outputs.version}} --log-level info
278+ ./quarto-bld prepare-dist --set-version ${{needs.configure.outputs.version}} ${{ matrix.arch == 'aarch64' && '--arch aarch64' || '' }} --log-level info
297279 popd
298280
299281 - name : Make Installer
300282 run : |
301283 pushd package/src/
302- ./quarto-bld make-installer-deb --set-version ${{needs.configure.outputs.version}} --log-level info
284+ ./quarto-bld make-installer-${{ matrix.format }} --set-version ${{needs.configure.outputs.version}} ${{ matrix.arch == 'aarch64' && '--arch aarch64' || '' }} --log-level info
303285 popd
304286
287+ - name : Set package architecture name
288+ id : pkg_arch
289+ run : |
290+ if [ "${{ matrix.format }}" == "deb" ]; then
291+ if [ "${{ matrix.arch }}" == "x86_64" ]; then
292+ echo "arch_name=amd64" >> $GITHUB_OUTPUT
293+ else
294+ echo "arch_name=arm64" >> $GITHUB_OUTPUT
295+ fi
296+ else
297+ if [ "${{ matrix.arch }}" == "x86_64" ]; then
298+ echo "arch_name=x86_64" >> $GITHUB_OUTPUT
299+ else
300+ echo "arch_name=aarch64" >> $GITHUB_OUTPUT
301+ fi
302+ fi
303+
305304 - name : Upload Artifact
306305 uses : actions/upload-artifact@v4
307306 with :
308- name : Deb Installer
309- path : ./package/out/quarto-${{needs.configure.outputs.version}}-linux-amd64.deb
307+ name : Linux-${{ matrix.format }}-${{ matrix.arch }}- Installer
308+ path : ./package/out/quarto-${{needs.configure.outputs.version}}-linux-${{ steps.pkg_arch.outputs.arch_name }}.${{ matrix.format }}
310309
311310 test-tarball-linux :
312311 runs-on : ubuntu-latest
@@ -593,8 +592,7 @@ jobs:
593592 runs-on : ubuntu-latest
594593 needs : [
595594 configure,
596- make-installer-deb,
597- make-installer-arm64-deb,
595+ make-installer-linux,
598596 make-installer-win,
599597 make-installer-mac,
600598 # optional in release to not be blocked by RHEL build depending on conda-forge deno dependency
@@ -660,13 +658,21 @@ jobs:
660658 sha256sum quarto-${{needs.configure.outputs.version}}-linux-arm64.tar.gz >> ../quarto-${{needs.configure.outputs.version}}-checksums.txt
661659 popd
662660
663- pushd Deb\ Installer
661+ pushd Linux-deb-x86_64- Installer
664662 sha256sum quarto-${{needs.configure.outputs.version}}-linux-amd64.deb >> ../quarto-${{needs.configure.outputs.version}}-checksums.txt
665663 popd
666664
667- pushd Deb\ Arm64\ Installer
665+ pushd Linux-deb-aarch64- Installer
668666 sha256sum quarto-${{needs.configure.outputs.version}}-linux-arm64.deb >> ../quarto-${{needs.configure.outputs.version}}-checksums.txt
669- popd
667+ popd
668+
669+ pushd Linux-rpm-x86_64-Installer
670+ sha256sum quarto-${{needs.configure.outputs.version}}-linux-x86_64.rpm >> ../quarto-${{needs.configure.outputs.version}}-checksums.txt
671+ popd
672+
673+ pushd Linux-rpm-aarch64-Installer
674+ sha256sum quarto-${{needs.configure.outputs.version}}-linux-aarch64.rpm >> ../quarto-${{needs.configure.outputs.version}}-checksums.txt
675+ popd
670676
671677 pushd Source
672678 sha256sum quarto-${{needs.configure.outputs.version}}.tar.gz >> ../quarto-${{needs.configure.outputs.version}}-checksums.txt
@@ -690,8 +696,10 @@ jobs:
690696 ./Deb Zip/quarto-${{needs.configure.outputs.version}}-linux-amd64.tar.gz
691697 ./Deb Arm64 Zip/quarto-${{needs.configure.outputs.version}}-linux-arm64.tar.gz
692698 ./RHEL Zip/quarto-${{needs.configure.outputs.version}}-linux-rhel7-amd64.tar.gz
693- ./Deb Installer/quarto-${{needs.configure.outputs.version}}-linux-amd64.deb
694- ./Deb Arm64 Installer/quarto-${{needs.configure.outputs.version}}-linux-arm64.deb
699+ ./Linux-deb-x86_64-Installer/quarto-${{needs.configure.outputs.version}}-linux-amd64.deb
700+ ./Linux-deb-aarch64-Installer/quarto-${{needs.configure.outputs.version}}-linux-arm64.deb
701+ ./Linux-rpm-x86_64-Installer/quarto-${{needs.configure.outputs.version}}-linux-x86_64.rpm
702+ ./Linux-rpm-aarch64-Installer/quarto-${{needs.configure.outputs.version}}-linux-aarch64.rpm
695703 ./Windows Installer/quarto-${{needs.configure.outputs.version}}-win.msi
696704 ./Windows Zip/quarto-${{needs.configure.outputs.version}}-win.zip
697705 ./Mac Installer/quarto-${{needs.configure.outputs.version}}-macos.pkg
@@ -703,8 +711,7 @@ jobs:
703711 if : ${{ (failure() || cancelled()) && inputs.publish-release }}
704712 needs : [
705713 configure,
706- make-installer-deb,
707- make-installer-arm64-deb,
714+ make-installer-linux,
708715 make-installer-win,
709716 make-installer-mac,
710717 # optional in release to not be blocked by RHEL build depending on conda-forge deno dependency
@@ -761,10 +768,20 @@ jobs:
761768
762769 - uses : ./.github/actions/docker
763770 with :
764- source : ./Deb Installer/quarto-${{needs.configure.outputs.version}}-linux-amd64.deb
771+ source : ./Linux-deb-x86_64- Installer/quarto-${{needs.configure.outputs.version}}-linux-amd64.deb
765772 version : ${{needs.configure.outputs.version}}
766773 token : ${{ secrets.GITHUB_TOKEN }}
767774 username : ${{ github.actor }}
768775 org : ${{ github.repository_owner }}
769776 name : quarto
770777 daily : ${{ inputs.pre-release }}
778+
779+ call-cloudsmith-publish :
780+ if : ${{ inputs.publish-release && ! (inputs.pre-release == true) }}
781+ needs : [configure, publish-release]
782+ uses : ./.github/workflows/publish-cloudsmith.yml
783+ with :
784+ version : ${{ needs.configure.outputs.tag_name }}
785+ dry-run : false
786+ secrets :
787+ CLOUDSMITH_API_KEY : ${{ secrets.CLOUDSMITH_API_KEY }}
0 commit comments