Skip to content

Commit 97756ed

Browse files
committed
merge
2 parents 137c881 + fd74e00 commit 97756ed

1,195 files changed

Lines changed: 178184 additions & 100195 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODE_OF_CONDUCT.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ Examples of unacceptable behavior include:
3636
* Other conduct which could reasonably be considered inappropriate in a
3737
professional setting
3838
* Providing bad information by copying output from AI assistants
39-
without verifying its validity
39+
without verifying its validity. This _specifically_ includes autonomous agents
40+
from OpenClaw, etc. We consider these account-bannable on first offense.
41+
You have been warned.
4042

4143
## Enforcement Responsibilities
4244

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ body:
1313
1414
- If you're reporting an issue with the **Visual Editor** or with the **Visual Studio Code / Positron extension**, please visit https://github.com/quarto-dev/quarto
1515
- If you're reporting an issue inside **RStudio**, please visit https://github.com/rstudio/rstudio
16-
- If you're reporting an issue inside **Positron**, please visit https://github.com/posit-dev/positron
16+
- If you're reporting an issue inside **Positron**, please visit https://github.com/posit-dev/positron/discussions
1717
- If you want to ask for a feature, please use the [Feature Requests GitHub Discussions](https://github.com/quarto-dev/quarto-cli/discussions/categories/feature-requests).
1818
- If you want to ask for help, please use the [Q&A GitHub Discussions](https://github.com/quarto-dev/quarto-cli/discussions/categories/q-a).
1919

.github/ISSUE_TEMPLATE/documentation.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ body:
2929
required: true
3030

3131
- type: textarea
32+
id: description
3233
attributes:
3334
label: Description
3435
description: Describe the issue, give feedback or suggest an improvement.

.github/workflows/actions/quarto-dev/action.yml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,17 @@ runs:
1212
restore-keys: |
1313
${{ runner.os }}-deno_std-2-
1414
15+
- name: Cache Cargo dependencies
16+
uses: actions/cache@v4
17+
with:
18+
path: |
19+
~/.cargo/registry
20+
~/.cargo/git
21+
package/typst-gather/target
22+
key: ${{ runner.os }}-cargo-typst-gather-${{ hashFiles('package/typst-gather/Cargo.lock') }}
23+
restore-keys: |
24+
${{ runner.os }}-cargo-typst-gather-
25+
1526
- name: Configure Quarto (.sh)
1627
if: runner.os != 'Windows'
1728
shell: bash
@@ -33,13 +44,13 @@ runs:
3344
- name: Basic dev mode sanity check
3445
shell: pwsh
3546
run: |
36-
If ( "$(quarto --version)" -ne "99.9.9") {
47+
If ( "$(quarto --version)" -ne "99.9.9") {
3748
echo "Unexpected version detected: $(quarto --version)"
38-
Exit 1
49+
Exit 1
3950
}
40-
If ( $(quarto --paths | Select-String -Pattern "package[/\\]+dist[/\\]+share") -ne $null ) {
51+
If ( $(quarto --paths | Select-String -Pattern "package[/\\]+dist[/\\]+share") -ne $null ) {
4152
echo "Unexpected package/dist/share path detected: $(quarto --paths)"
42-
Exit 1
53+
Exit 1
4354
}
4455
# check if configure is modifying some files as it should not
4556
$modifiedFiles = git diff --name-only
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Cleanup github runner caches on closed pull requests
2+
on:
3+
pull_request:
4+
types:
5+
- closed
6+
7+
jobs:
8+
cleanup:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
actions: write
12+
steps:
13+
- name: Cleanup
14+
run: |
15+
echo "::group::Fetching cache list for PR #${{ github.event.pull_request.number }}"
16+
echo "Branch ref: $BRANCH"
17+
18+
# Get full cache list with details for logging
19+
cacheList=$(gh cache list --ref $BRANCH --limit 100 --json id,key,sizeInBytes)
20+
cacheCount=$(echo "$cacheList" | jq '. | length')
21+
22+
echo "Found $cacheCount cache(s) for this PR"
23+
24+
if [ "$cacheCount" -gt 0 ]; then
25+
echo "Cache details:"
26+
echo "$cacheList" | jq -r '.[] | " - ID: \(.id) | Key: \(.key) | Size: \(.sizeInBytes | tonumber / 1024 / 1024 | floor)MB"'
27+
fi
28+
echo "::endgroup::"
29+
30+
if [ "$cacheCount" -eq 0 ]; then
31+
echo "No caches to delete"
32+
exit 0
33+
fi
34+
35+
# Extract just the IDs for deletion
36+
cacheKeysForPR=$(echo "$cacheList" | jq -r '.[].id')
37+
38+
## Setting this to not fail the workflow while deleting cache keys.
39+
set +e
40+
41+
echo "::group::Deleting caches"
42+
deleted=0
43+
failed=0
44+
45+
for cacheKey in $cacheKeysForPR
46+
do
47+
echo "Deleting cache ID: $cacheKey"
48+
if gh cache delete $cacheKey; then
49+
echo " ✓ Successfully deleted cache $cacheKey"
50+
((deleted++))
51+
else
52+
echo " ✗ Failed to delete cache $cacheKey"
53+
((failed++))
54+
fi
55+
done
56+
57+
echo "::endgroup::"
58+
59+
echo "::notice::Cache cleanup complete: $deleted deleted, $failed failed out of $cacheCount total"
60+
env:
61+
GH_TOKEN: ${{ github.token }}
62+
GH_REPO: ${{ github.repository }}
63+
BRANCH: refs/pull/${{ github.event.pull_request.number }}/merge

.github/workflows/create-release.yml

Lines changed: 65 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ on:
1515
type: boolean
1616
default: true
1717

18+
env:
19+
NFPM_VERSION: "2.43.1"
20+
1821
concurrency:
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
260-
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
268+
- name: Install nfpm
290269
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
@@ -361,10 +360,6 @@ jobs:
361360
if: ${{ inputs.publish-release }}
362361
uses: ./.github/workflows/actions/prevent-rerun
363362

364-
- name: Configure Rust Tools
365-
run: |
366-
rustup.exe toolchain install 1.63.0 --component rustfmt --component clippy --no-self-update
367-
rustup.exe default 1.63.0
368363
- name: Configure
369364
run: |
370365
.\configure.cmd
@@ -390,6 +385,7 @@ jobs:
390385
./package/pkg-working/bin/tools/x86_64/esbuild.exe
391386
./package/pkg-working/bin/tools/x86_64/dart-sass/src/dart.exe
392387
./package/pkg-working/bin/tools/x86_64/deno_dom/plugin.dll
388+
./package/pkg-working/bin/tools/x86_64/typst-gather.exe
393389
./package/pkg-working/bin/tools/pandoc.exe
394390
./package/pkg-working/bin/quarto.js
395391
env:
@@ -593,8 +589,7 @@ jobs:
593589
runs-on: ubuntu-latest
594590
needs: [
595591
configure,
596-
make-installer-deb,
597-
make-installer-arm64-deb,
592+
make-installer-linux,
598593
make-installer-win,
599594
make-installer-mac,
600595
# optional in release to not be blocked by RHEL build depending on conda-forge deno dependency
@@ -660,13 +655,21 @@ jobs:
660655
sha256sum quarto-${{needs.configure.outputs.version}}-linux-arm64.tar.gz >> ../quarto-${{needs.configure.outputs.version}}-checksums.txt
661656
popd
662657
663-
pushd Deb\ Installer
658+
pushd Linux-deb-x86_64-Installer
664659
sha256sum quarto-${{needs.configure.outputs.version}}-linux-amd64.deb >> ../quarto-${{needs.configure.outputs.version}}-checksums.txt
665660
popd
666661
667-
pushd Deb\ Arm64\ Installer
662+
pushd Linux-deb-aarch64-Installer
668663
sha256sum quarto-${{needs.configure.outputs.version}}-linux-arm64.deb >> ../quarto-${{needs.configure.outputs.version}}-checksums.txt
669-
popd
664+
popd
665+
666+
pushd Linux-rpm-x86_64-Installer
667+
sha256sum quarto-${{needs.configure.outputs.version}}-linux-x86_64.rpm >> ../quarto-${{needs.configure.outputs.version}}-checksums.txt
668+
popd
669+
670+
pushd Linux-rpm-aarch64-Installer
671+
sha256sum quarto-${{needs.configure.outputs.version}}-linux-aarch64.rpm >> ../quarto-${{needs.configure.outputs.version}}-checksums.txt
672+
popd
670673
671674
pushd Source
672675
sha256sum quarto-${{needs.configure.outputs.version}}.tar.gz >> ../quarto-${{needs.configure.outputs.version}}-checksums.txt
@@ -690,8 +693,10 @@ jobs:
690693
./Deb Zip/quarto-${{needs.configure.outputs.version}}-linux-amd64.tar.gz
691694
./Deb Arm64 Zip/quarto-${{needs.configure.outputs.version}}-linux-arm64.tar.gz
692695
./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
696+
./Linux-deb-x86_64-Installer/quarto-${{needs.configure.outputs.version}}-linux-amd64.deb
697+
./Linux-deb-aarch64-Installer/quarto-${{needs.configure.outputs.version}}-linux-arm64.deb
698+
./Linux-rpm-x86_64-Installer/quarto-${{needs.configure.outputs.version}}-linux-x86_64.rpm
699+
./Linux-rpm-aarch64-Installer/quarto-${{needs.configure.outputs.version}}-linux-aarch64.rpm
695700
./Windows Installer/quarto-${{needs.configure.outputs.version}}-win.msi
696701
./Windows Zip/quarto-${{needs.configure.outputs.version}}-win.zip
697702
./Mac Installer/quarto-${{needs.configure.outputs.version}}-macos.pkg
@@ -703,8 +708,7 @@ jobs:
703708
if: ${{ (failure() || cancelled()) && inputs.publish-release }}
704709
needs: [
705710
configure,
706-
make-installer-deb,
707-
make-installer-arm64-deb,
711+
make-installer-linux,
708712
make-installer-win,
709713
make-installer-mac,
710714
# optional in release to not be blocked by RHEL build depending on conda-forge deno dependency
@@ -761,10 +765,20 @@ jobs:
761765

762766
- uses: ./.github/actions/docker
763767
with:
764-
source: ./Deb Installer/quarto-${{needs.configure.outputs.version}}-linux-amd64.deb
768+
source: ./Linux-deb-x86_64-Installer/quarto-${{needs.configure.outputs.version}}-linux-amd64.deb
765769
version: ${{needs.configure.outputs.version}}
766770
token: ${{ secrets.GITHUB_TOKEN }}
767771
username: ${{ github.actor }}
768772
org: ${{ github.repository_owner }}
769773
name: quarto
770774
daily: ${{ inputs.pre-release }}
775+
776+
call-cloudsmith-publish:
777+
if: ${{ inputs.publish-release && ! (inputs.pre-release == true) }}
778+
needs: [configure, publish-release]
779+
uses: ./.github/workflows/publish-cloudsmith.yml
780+
with:
781+
version: ${{ needs.configure.outputs.tag_name }}
782+
dry-run: false
783+
secrets:
784+
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}

.github/workflows/performance-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
pushd package/src
3939
4040
bundle_start=$(date +%s.%3N)
41-
./quarto-bld prepare-dist
41+
./quarto-bld prepare-dist --set-version $(cat ../../version.txt)
4242
bundle_end=$(date +%s.%3N)
4343
bundle_elapsed=$(printf '%.3f\n' $(echo "scale=3; $bundle_end - $bundle_start" | bc))
4444

0 commit comments

Comments
 (0)