Skip to content

Commit a6e37ac

Browse files
authored
Merge pull request #13808 from quarto-dev/windows/quarto-dev-script-update
- Bring Windows script to parity with bash script - Fixes issues with new deno deps handling in `deno_cache` for linux, and windows
2 parents 3bd99df + 2f4a2ee commit a6e37ac

5 files changed

Lines changed: 63 additions & 14 deletions

File tree

.github/workflows/test-smokes.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,9 @@ jobs:
126126
path: |
127127
${{ env.RENV_PATHS_ROOT }}
128128
renv/library
129-
key: ${{ steps.get-version.outputs.os-version }}-${{ steps.get-version.outputs.r-version }}-renv-1-${{ hashFiles('tests/renv.lock') }}
129+
key: ${{ steps.get-version.outputs.os-version }}-${{ steps.get-version.outputs.r-version }}-renv-2-${{ hashFiles('tests/renv.lock') }}
130130
restore-keys: |
131-
${{ steps.get-version.outputs.os-version }}-${{ steps.get-version.outputs.r-version }}-renv-1-
131+
${{ steps.get-version.outputs.os-version }}-${{ steps.get-version.outputs.r-version }}-renv-2-
132132
133133
- name: Install missing system deps
134134
if: runner.os == 'Linux'

configure.cmd

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,12 @@ if "%QUARTO_VENDOR_BINARIES%" == "true" (
6262
POPD
6363
)
6464

65+
IF NOT DEFINED QUARTO_DENO_DIR (
66+
SET "DENO_DIR=!QUARTO_BIN_PATH!\deno_cache"
67+
) ELSE (
68+
SET "DENO_DIR=!QUARTO_DENO_DIR!"
69+
)
70+
6571
PUSHD !QUARTO_PACKAGE_PATH!\src
6672
ECHO Configuring Quarto from !cd!
6773
CALL quarto-bld.cmd configure --log-level info

package/scripts/windows/quarto.cmd

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,27 @@ IF EXIST "!QUARTO_TS_PATH!" (
1313
set QUARTO_DEV_MODE=true
1414

1515
IF "%1"=="--version" (
16+
IF DEFINED QUARTO_FORCE_VERSION (
17+
ECHO !QUARTO_FORCE_VERSION!
18+
GOTO end
19+
)
1620
ECHO 99.9.9
1721
GOTO end
1822
)
1923

2024
IF "%1"=="-v" (
25+
IF DEFINED QUARTO_FORCE_VERSION (
26+
ECHO !QUARTO_FORCE_VERSION!
27+
GOTO end
28+
)
2129
ECHO 99.9.9
2230
GOTO end
2331
)
2432

2533
call !QUARTO_ROOT!\win_configuration.bat
2634
REM overrride share path to point to our dev folder instead of dist
2735
set QUARTO_SHARE_PATH=!QUARTO_ROOT!\src\resources
36+
set "DENO_DIR=!QUARTO_BIN_PATH!\deno_cache"
2837

2938
IF NOT DEFINED QUARTO_ACTION (
3039
SET QUARTO_ACTION=run
@@ -51,17 +60,20 @@ IF EXIST "!QUARTO_TS_PATH!" (
5160
cd !QUARTO_ROOT!
5261
call configure.cmd
5362
echo
63+
echo.
5464
echo Quarto required reconfiguration to install Deno !DENO!. Please try command again.
55-
GOTO end
65+
exit /b 1
5666
)
5767
) else (
5868
echo !DENO!>"!DENO_VERSION_FILE!"
5969
)
6070

61-
SET QUARTO_CACHE_OPTIONS=
71+
SET QUARTO_CACHE_OPTIONS=--cached-only
6272

6373
REM Turn on type checking for dev version
64-
SET QUARTO_DENO_OPTIONS=--check
74+
IF NOT DEFINED QUARTO_NO_TYPECHECK (
75+
SET QUARTO_DENO_OPTIONS=--check
76+
)
6577

6678
) ELSE (
6779

@@ -70,11 +82,19 @@ IF EXIST "!QUARTO_TS_PATH!" (
7082
)
7183

7284
IF "%1"=="-v" (
85+
IF DEFINED QUARTO_FORCE_VERSION (
86+
ECHO !QUARTO_FORCE_VERSION!
87+
GOTO end
88+
)
7389
TYPE "!QUARTO_SHARE_PATH!\version"
7490
GOTO end
7591
)
7692

7793
IF "%1"=="--version" (
94+
IF DEFINED QUARTO_FORCE_VERSION (
95+
ECHO !QUARTO_FORCE_VERSION!
96+
GOTO end
97+
)
7898
TYPE "!QUARTO_SHARE_PATH!\version"
7999
GOTO end
80100
)
@@ -84,7 +104,7 @@ IF EXIST "!QUARTO_TS_PATH!" (
84104
SET "QUARTO_TARGET=%SCRIPT_PATH%\quarto.js"
85105
SET "QUARTO_BIN_PATH=%SCRIPT_PATH%"
86106
SET "QUARTO_IMPORT_MAP_ARG=--importmap=""%SCRIPT_PATH%\vendor\import_map.json"""
87-
SET QUARTO_CACHE_OPTIONS="--cached-only"
107+
SET QUARTO_CACHE_OPTIONS=--cached-only
88108
)
89109

90110
IF "%1"=="--paths" (
@@ -137,6 +157,11 @@ IF NOT DEFINED QUARTO_DENO_EXTRA_OPTIONS (
137157
)
138158
)
139159

160+
IF DEFINED QUARTO_TS_PROFILE (
161+
SET "QUARTO_DENO_EXTRA_OPTIONS=--inspect-brk !QUARTO_DENO_EXTRA_OPTIONS!"
162+
SET "QUARTO_TS_PROFILE=true"
163+
)
164+
140165
IF DEFINED QUARTO_DEV_MODE (
141166
!QUARTO_DENO! !QUARTO_ACTION! !QUARTO_CACHE_OPTIONS! !QUARTO_DENO_OPTIONS! !QUARTO_DENO_EXTRA_OPTIONS! !QUARTO_IMPORT_MAP_ARG! !QUARTO_TARGET! %*
142167
) ELSE (

tests/run-tests.ps1

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,14 @@ $Env:QUARTO_BIN_PATH = $QUARTO_BIN_PATH
5757
$Env:QUARTO_SHARE_PATH = $QUARTO_SHARE_PATH
5858

5959
# Activated debug mode by default for stack trace
60-
$Env:QUARTO_DEBUG = "true"
60+
$Env:QUARTO_DEBUG = "true"
61+
62+
# Set DENO_DIR to cache location (respects QUARTO_DENO_DIR override)
63+
If ($null -eq $Env:QUARTO_DENO_DIR) {
64+
$Env:DENO_DIR = Join-Path $QUARTO_BIN_PATH "deno_cache"
65+
} Else {
66+
$Env:DENO_DIR = $Env:QUARTO_DENO_DIR
67+
}
6168

6269
# Preparing running Deno with default arguments
6370

tests/run-tests.sh

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,26 @@ fi
1717

1818
source $SCRIPT_PATH/../package/scripts/common/utils.sh
1919

20-
export QUARTO_ROOT="`cd "$SCRIPT_PATH/.." > /dev/null 2>&1 && pwd`"
20+
export QUARTO_ROOT="$(cd "$SCRIPT_PATH/.." > /dev/null 2>&1 && pwd)"
2121
QUARTO_SRC_DIR="$QUARTO_ROOT/src"
22+
23+
# Architecture detection (preserve original DENO_DIR from environment)
2224
DENO_ARCH_DIR=$DENO_DIR
23-
DENO_DIR="$QUARTO_ROOT/package/dist/bin/"
25+
26+
# Set bin path explicitly (not derived from DENO_DIR)
27+
QUARTO_BIN_PATH="$QUARTO_ROOT/package/dist/bin"
28+
29+
# Set DENO_DIR to cache location (respects QUARTO_DENO_DIR override)
30+
if [ "$QUARTO_DENO_DIR" == "" ]; then
31+
export DENO_DIR="$QUARTO_BIN_PATH/deno_cache"
32+
else
33+
export DENO_DIR="$QUARTO_DENO_DIR"
34+
fi
2435

2536
# Local import map
2637
QUARTO_IMPORT_MAP_ARG=--importmap=$QUARTO_SRC_DIR/import_map.json
2738

28-
export QUARTO_BIN_PATH=$DENO_DIR
39+
export QUARTO_BIN_PATH
2940
export QUARTO_SHARE_PATH="`cd "$QUARTO_ROOT/src/resources/";pwd`"
3041
export QUARTO_DEBUG=true
3142

@@ -83,13 +94,13 @@ if [ "$QUARTO_TEST_TIMING" != "" ] && [ "$QUARTO_TEST_TIMING" != "false" ]; then
8394
SMOKE_ALL_FILES=`find docs/smoke-all/ -type f -regextype "posix-extended" -regex ".*/[^_][^/]*[.]qmd" -o -regex ".*/[^_][^/]*[.]md" -o -regex ".*/[^_][^/]*[.]ipynb"`
8495
for j in $SMOKE_ALL_FILES; do
8596
echo "${SMOKE_ALL_TEST_FILE} -- ${j}" >> "$QUARTO_TEST_TIMING"
86-
/usr/bin/time -f " %e real %U user %S sys" -a -o ${QUARTO_TEST_TIMING} "${DENO_DIR}/tools/${DENO_ARCH_DIR}/deno" test ${QUARTO_DENO_OPTIONS} --no-check ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_MAP_ARG}" ${SMOKE_ALL_TEST_FILE} -- ${j}
97+
/usr/bin/time -f " %e real %U user %S sys" -a -o ${QUARTO_TEST_TIMING} "${QUARTO_BIN_PATH}/tools/${DENO_ARCH_DIR}/deno" test ${QUARTO_DENO_OPTIONS} --no-check ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_MAP_ARG}" ${SMOKE_ALL_TEST_FILE} -- ${j}
8798
done
8899
continue
89100
fi
90101
# Otherwise we time the individual test.ts test
91102
echo $i >> "$QUARTO_TEST_TIMING"
92-
/usr/bin/time -f " %e real %U user %S sys" -a -o "$QUARTO_TEST_TIMING" "${DENO_DIR}/tools/${DENO_ARCH_DIR}/deno" test ${QUARTO_DENO_OPTIONS} --no-check ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_MAP_ARG}" $i
103+
/usr/bin/time -f " %e real %U user %S sys" -a -o "$QUARTO_TEST_TIMING" "${QUARTO_BIN_PATH}/tools/${DENO_ARCH_DIR}/deno" test ${QUARTO_DENO_OPTIONS} --no-check ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_MAP_ARG}" $i
93104
done
94105
# exit the script with an error code if the timing file shows error
95106
grep -q 'Command exited with non-zero status' $QUARTO_TEST_TIMING && SUCCESS=1 || SUCCESS=0
@@ -132,7 +143,7 @@ else
132143
TESTS_TO_RUN="${SMOKE_ALL_TEST_FILE} -- ${SMOKE_ALL_FILES}"
133144
fi
134145
fi
135-
"${DENO_DIR}/tools/${DENO_ARCH_DIR}/deno" test ${QUARTO_DENO_OPTIONS} --check ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_MAP_ARG}" $TESTS_TO_RUN
146+
"${QUARTO_BIN_PATH}/tools/${DENO_ARCH_DIR}/deno" test ${QUARTO_DENO_OPTIONS} --check ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_MAP_ARG}" $TESTS_TO_RUN
136147
SUCCESS=$?
137148
fi
138149

@@ -168,7 +179,7 @@ if [[ $@ == *"--coverage"* ]]; then
168179
[[ $@ =~ .*--coverage=(.+) ]] && export COV="${BASH_REMATCH[1]}"
169180

170181
echo Generating coverage report...
171-
${DENO_DIR}/deno coverage --unstable-kv --unstable-ffi ${COV} --lcov > ${COV}.lcov
182+
${QUARTO_BIN_PATH}/tools/${DENO_ARCH_DIR}/deno coverage --unstable-kv --unstable-ffi ${COV} --lcov > ${COV}.lcov
172183
genhtml -o ${COV}/html ${COV}.lcov
173184
open ${COV}/html/index.html
174185
fi

0 commit comments

Comments
 (0)