Skip to content

ci: remove the inert nox/uv cache step from test-python - #6253

Merged
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache
Aug 30, 2026
Merged

ci: remove the inert nox/uv cache step from test-python#6253
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache

Conversation

@prql-bot

Copy link
Copy Markdown
Collaborator

The Cache uv and Nox step in test-python has never cached anything: both paths it names are wrong, so every restore misses and every save is skipped with a path-validation warning. This removes that step and the Compute pyproject.toml hash step that only fed its key. astral-sh/setup-uv already caches uv's cache directory with a correct per-platform key, and nox recreates its virtualenvs on every run, so nothing is lost.

Verified against the last two nightly runs: the nox-uv-… key missed on all three OSes on both days, and the post step logged Path(s) specified in the action for caching do(es) not exist.

Evidence and mechanism

Both cached paths are wrong:

  • .nox — the run command is nox -s tests typing -f prqlc/bindings/prqlc-python/noxfile.py. nox chdirs to the noxfile's directory, so the env dir is created at prqlc/bindings/prqlc-python/.nox, not the repo-root .nox the cache step names. The 2026-08-29 ubuntu job shows both: CWD /home/runner/work/prql/prql/prqlc/bindings/prqlc-python and nox > Creating virtual environment (uv) using python3.10 in .nox/tests-3-10.
  • ~/.cache/uvastral-sh/setup-uv@v7 sets UV_CACHE_DIR=/home/runner/work/_temp/setup-uv-cache, visible in that job's step env. uv never writes to ~/.cache/uv here.

With neither path present, the post step logs:

[warning]Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.

so no cache is ever written, and the restore correspondingly misses every time. Across the two most recent scheduled 3-OS runs — 33248713260 (2026-08-29) and 33181607218 (2026-08-28) — all six jobs logged:

Cache not found for input keys: nox-uv-ed1962a15f136f9bb5a100fd443a9c9490a8abdab41491d25d1ba2f875b5273b

Note the key is byte-identical across ubuntu, macOS, and Windows: it has no ${{ runner.os }} component, unlike the repo's elixir cache keys. Rather than add the OS component, this removes the step, because neither path is worth caching once the paths are corrected:

  • ~/.cache/uv would duplicate setup-uv's own cache, which is working — the same jobs log Cache hit for: setup-uv-2-x86_64-unknown-linux-gnu-… and uv cache saved with key: setup-uv-2-…, keyed per platform, python version, and uv version.
  • .nox is recreated on every run regardless: noxfile.py sets nox.options.reuse_existing_virtualenvs = False, and the logs confirm a fresh Creating virtual environment line for each of the four sessions.

No regression test: this is a CI workflow change with no code under test. The check is the test-python / test job itself — it should keep passing, and its post step should no longer emit the path-validation warning.

@max-sixty
max-sixty merged commit cbee4ba into mainAug 30, 2026
43 checks passed
@max-sixty
max-sixty deleted the ci/remove-inert-nox-cache branch August 30, 2026 22:50
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@prql-bot@max-sixty
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
ci: remove the inert nox/uv cache step from test-python by prql-bot · Pull Request #6253 · PRQL/prql · GitHub
Skip to content

ci: remove the inert nox/uv cache step from test-python - #6253

Merged
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache
Aug 30, 2026
Merged

ci: remove the inert nox/uv cache step from test-python#6253
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache

Conversation

@prql-bot

Copy link
Copy Markdown
Collaborator

The Cache uv and Nox step in test-python has never cached anything: both paths it names are wrong, so every restore misses and every save is skipped with a path-validation warning. This removes that step and the Compute pyproject.toml hash step that only fed its key. astral-sh/setup-uv already caches uv's cache directory with a correct per-platform key, and nox recreates its virtualenvs on every run, so nothing is lost.

Verified against the last two nightly runs: the nox-uv-… key missed on all three OSes on both days, and the post step logged Path(s) specified in the action for caching do(es) not exist.

Evidence and mechanism

Both cached paths are wrong:

  • .nox — the run command is nox -s tests typing -f prqlc/bindings/prqlc-python/noxfile.py. nox chdirs to the noxfile's directory, so the env dir is created at prqlc/bindings/prqlc-python/.nox, not the repo-root .nox the cache step names. The 2026-08-29 ubuntu job shows both: CWD /home/runner/work/prql/prql/prqlc/bindings/prqlc-python and nox > Creating virtual environment (uv) using python3.10 in .nox/tests-3-10.
  • ~/.cache/uvastral-sh/setup-uv@v7 sets UV_CACHE_DIR=/home/runner/work/_temp/setup-uv-cache, visible in that job's step env. uv never writes to ~/.cache/uv here.

With neither path present, the post step logs:

[warning]Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.

so no cache is ever written, and the restore correspondingly misses every time. Across the two most recent scheduled 3-OS runs — 33248713260 (2026-08-29) and 33181607218 (2026-08-28) — all six jobs logged:

Cache not found for input keys: nox-uv-ed1962a15f136f9bb5a100fd443a9c9490a8abdab41491d25d1ba2f875b5273b

Note the key is byte-identical across ubuntu, macOS, and Windows: it has no ${{ runner.os }} component, unlike the repo's elixir cache keys. Rather than add the OS component, this removes the step, because neither path is worth caching once the paths are corrected:

  • ~/.cache/uv would duplicate setup-uv's own cache, which is working — the same jobs log Cache hit for: setup-uv-2-x86_64-unknown-linux-gnu-… and uv cache saved with key: setup-uv-2-…, keyed per platform, python version, and uv version.
  • .nox is recreated on every run regardless: noxfile.py sets nox.options.reuse_existing_virtualenvs = False, and the logs confirm a fresh Creating virtual environment line for each of the four sessions.

No regression test: this is a CI workflow change with no code under test. The check is the test-python / test job itself — it should keep passing, and its post step should no longer emit the path-validation warning.

@max-sixty
max-sixty merged commit cbee4ba into mainAug 30, 2026
43 checks passed
@max-sixty
max-sixty deleted the ci/remove-inert-nox-cache branch August 30, 2026 22:50
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@prql-bot@max-sixty
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' ci: remove the inert nox/uv cache step from test-python by prql-bot · Pull Request #6253 · PRQL/prql · GitHub
Skip to content

ci: remove the inert nox/uv cache step from test-python - #6253

Merged
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache
Aug 30, 2026
Merged

ci: remove the inert nox/uv cache step from test-python#6253
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache

Conversation

@prql-bot

Copy link
Copy Markdown
Collaborator

The Cache uv and Nox step in test-python has never cached anything: both paths it names are wrong, so every restore misses and every save is skipped with a path-validation warning. This removes that step and the Compute pyproject.toml hash step that only fed its key. astral-sh/setup-uv already caches uv's cache directory with a correct per-platform key, and nox recreates its virtualenvs on every run, so nothing is lost.

Verified against the last two nightly runs: the nox-uv-… key missed on all three OSes on both days, and the post step logged Path(s) specified in the action for caching do(es) not exist.

Evidence and mechanism

Both cached paths are wrong:

  • .nox — the run command is nox -s tests typing -f prqlc/bindings/prqlc-python/noxfile.py. nox chdirs to the noxfile's directory, so the env dir is created at prqlc/bindings/prqlc-python/.nox, not the repo-root .nox the cache step names. The 2026-08-29 ubuntu job shows both: CWD /home/runner/work/prql/prql/prqlc/bindings/prqlc-python and nox > Creating virtual environment (uv) using python3.10 in .nox/tests-3-10.
  • ~/.cache/uvastral-sh/setup-uv@v7 sets UV_CACHE_DIR=/home/runner/work/_temp/setup-uv-cache, visible in that job's step env. uv never writes to ~/.cache/uv here.

With neither path present, the post step logs:

[warning]Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.

so no cache is ever written, and the restore correspondingly misses every time. Across the two most recent scheduled 3-OS runs — 33248713260 (2026-08-29) and 33181607218 (2026-08-28) — all six jobs logged:

Cache not found for input keys: nox-uv-ed1962a15f136f9bb5a100fd443a9c9490a8abdab41491d25d1ba2f875b5273b

Note the key is byte-identical across ubuntu, macOS, and Windows: it has no ${{ runner.os }} component, unlike the repo's elixir cache keys. Rather than add the OS component, this removes the step, because neither path is worth caching once the paths are corrected:

  • ~/.cache/uv would duplicate setup-uv's own cache, which is working — the same jobs log Cache hit for: setup-uv-2-x86_64-unknown-linux-gnu-… and uv cache saved with key: setup-uv-2-…, keyed per platform, python version, and uv version.
  • .nox is recreated on every run regardless: noxfile.py sets nox.options.reuse_existing_virtualenvs = False, and the logs confirm a fresh Creating virtual environment line for each of the four sessions.

No regression test: this is a CI workflow change with no code under test. The check is the test-python / test job itself — it should keep passing, and its post step should no longer emit the path-validation warning.

@max-sixty
max-sixty merged commit cbee4ba into mainAug 30, 2026
43 checks passed
@max-sixty
max-sixty deleted the ci/remove-inert-nox-cache branch August 30, 2026 22:50
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@prql-bot@max-sixty
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' ci: remove the inert nox/uv cache step from test-python by prql-bot · Pull Request #6253 · PRQL/prql · GitHub
Skip to content

ci: remove the inert nox/uv cache step from test-python - #6253

Merged
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache
Aug 30, 2026
Merged

ci: remove the inert nox/uv cache step from test-python#6253
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache

Conversation

@prql-bot

Copy link
Copy Markdown
Collaborator

The Cache uv and Nox step in test-python has never cached anything: both paths it names are wrong, so every restore misses and every save is skipped with a path-validation warning. This removes that step and the Compute pyproject.toml hash step that only fed its key. astral-sh/setup-uv already caches uv's cache directory with a correct per-platform key, and nox recreates its virtualenvs on every run, so nothing is lost.

Verified against the last two nightly runs: the nox-uv-… key missed on all three OSes on both days, and the post step logged Path(s) specified in the action for caching do(es) not exist.

Evidence and mechanism

Both cached paths are wrong:

  • .nox — the run command is nox -s tests typing -f prqlc/bindings/prqlc-python/noxfile.py. nox chdirs to the noxfile's directory, so the env dir is created at prqlc/bindings/prqlc-python/.nox, not the repo-root .nox the cache step names. The 2026-08-29 ubuntu job shows both: CWD /home/runner/work/prql/prql/prqlc/bindings/prqlc-python and nox > Creating virtual environment (uv) using python3.10 in .nox/tests-3-10.
  • ~/.cache/uvastral-sh/setup-uv@v7 sets UV_CACHE_DIR=/home/runner/work/_temp/setup-uv-cache, visible in that job's step env. uv never writes to ~/.cache/uv here.

With neither path present, the post step logs:

[warning]Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.

so no cache is ever written, and the restore correspondingly misses every time. Across the two most recent scheduled 3-OS runs — 33248713260 (2026-08-29) and 33181607218 (2026-08-28) — all six jobs logged:

Cache not found for input keys: nox-uv-ed1962a15f136f9bb5a100fd443a9c9490a8abdab41491d25d1ba2f875b5273b

Note the key is byte-identical across ubuntu, macOS, and Windows: it has no ${{ runner.os }} component, unlike the repo's elixir cache keys. Rather than add the OS component, this removes the step, because neither path is worth caching once the paths are corrected:

  • ~/.cache/uv would duplicate setup-uv's own cache, which is working — the same jobs log Cache hit for: setup-uv-2-x86_64-unknown-linux-gnu-… and uv cache saved with key: setup-uv-2-…, keyed per platform, python version, and uv version.
  • .nox is recreated on every run regardless: noxfile.py sets nox.options.reuse_existing_virtualenvs = False, and the logs confirm a fresh Creating virtual environment line for each of the four sessions.

No regression test: this is a CI workflow change with no code under test. The check is the test-python / test job itself — it should keep passing, and its post step should no longer emit the path-validation warning.

@max-sixty
max-sixty merged commit cbee4ba into mainAug 30, 2026
43 checks passed
@max-sixty
max-sixty deleted the ci/remove-inert-nox-cache branch August 30, 2026 22:50
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@prql-bot@max-sixty
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' ci: remove the inert nox/uv cache step from test-python by prql-bot · Pull Request #6253 · PRQL/prql · GitHub
Skip to content

ci: remove the inert nox/uv cache step from test-python - #6253

Merged
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache
Aug 30, 2026
Merged

ci: remove the inert nox/uv cache step from test-python#6253
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache

Conversation

@prql-bot

Copy link
Copy Markdown
Collaborator

The Cache uv and Nox step in test-python has never cached anything: both paths it names are wrong, so every restore misses and every save is skipped with a path-validation warning. This removes that step and the Compute pyproject.toml hash step that only fed its key. astral-sh/setup-uv already caches uv's cache directory with a correct per-platform key, and nox recreates its virtualenvs on every run, so nothing is lost.

Verified against the last two nightly runs: the nox-uv-… key missed on all three OSes on both days, and the post step logged Path(s) specified in the action for caching do(es) not exist.

Evidence and mechanism

Both cached paths are wrong:

  • .nox — the run command is nox -s tests typing -f prqlc/bindings/prqlc-python/noxfile.py. nox chdirs to the noxfile's directory, so the env dir is created at prqlc/bindings/prqlc-python/.nox, not the repo-root .nox the cache step names. The 2026-08-29 ubuntu job shows both: CWD /home/runner/work/prql/prql/prqlc/bindings/prqlc-python and nox > Creating virtual environment (uv) using python3.10 in .nox/tests-3-10.
  • ~/.cache/uvastral-sh/setup-uv@v7 sets UV_CACHE_DIR=/home/runner/work/_temp/setup-uv-cache, visible in that job's step env. uv never writes to ~/.cache/uv here.

With neither path present, the post step logs:

[warning]Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.

so no cache is ever written, and the restore correspondingly misses every time. Across the two most recent scheduled 3-OS runs — 33248713260 (2026-08-29) and 33181607218 (2026-08-28) — all six jobs logged:

Cache not found for input keys: nox-uv-ed1962a15f136f9bb5a100fd443a9c9490a8abdab41491d25d1ba2f875b5273b

Note the key is byte-identical across ubuntu, macOS, and Windows: it has no ${{ runner.os }} component, unlike the repo's elixir cache keys. Rather than add the OS component, this removes the step, because neither path is worth caching once the paths are corrected:

  • ~/.cache/uv would duplicate setup-uv's own cache, which is working — the same jobs log Cache hit for: setup-uv-2-x86_64-unknown-linux-gnu-… and uv cache saved with key: setup-uv-2-…, keyed per platform, python version, and uv version.
  • .nox is recreated on every run regardless: noxfile.py sets nox.options.reuse_existing_virtualenvs = False, and the logs confirm a fresh Creating virtual environment line for each of the four sessions.

No regression test: this is a CI workflow change with no code under test. The check is the test-python / test job itself — it should keep passing, and its post step should no longer emit the path-validation warning.

@max-sixty
max-sixty merged commit cbee4ba into mainAug 30, 2026
43 checks passed
@max-sixty
max-sixty deleted the ci/remove-inert-nox-cache branch August 30, 2026 22:50
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@prql-bot@max-sixty
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' ci: remove the inert nox/uv cache step from test-python by prql-bot · Pull Request #6253 · PRQL/prql · GitHub
Skip to content

ci: remove the inert nox/uv cache step from test-python - #6253

Merged
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache
Aug 30, 2026
Merged

ci: remove the inert nox/uv cache step from test-python#6253
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache

Conversation

@prql-bot

Copy link
Copy Markdown
Collaborator

The Cache uv and Nox step in test-python has never cached anything: both paths it names are wrong, so every restore misses and every save is skipped with a path-validation warning. This removes that step and the Compute pyproject.toml hash step that only fed its key. astral-sh/setup-uv already caches uv's cache directory with a correct per-platform key, and nox recreates its virtualenvs on every run, so nothing is lost.

Verified against the last two nightly runs: the nox-uv-… key missed on all three OSes on both days, and the post step logged Path(s) specified in the action for caching do(es) not exist.

Evidence and mechanism

Both cached paths are wrong:

  • .nox — the run command is nox -s tests typing -f prqlc/bindings/prqlc-python/noxfile.py. nox chdirs to the noxfile's directory, so the env dir is created at prqlc/bindings/prqlc-python/.nox, not the repo-root .nox the cache step names. The 2026-08-29 ubuntu job shows both: CWD /home/runner/work/prql/prql/prqlc/bindings/prqlc-python and nox > Creating virtual environment (uv) using python3.10 in .nox/tests-3-10.
  • ~/.cache/uvastral-sh/setup-uv@v7 sets UV_CACHE_DIR=/home/runner/work/_temp/setup-uv-cache, visible in that job's step env. uv never writes to ~/.cache/uv here.

With neither path present, the post step logs:

[warning]Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.

so no cache is ever written, and the restore correspondingly misses every time. Across the two most recent scheduled 3-OS runs — 33248713260 (2026-08-29) and 33181607218 (2026-08-28) — all six jobs logged:

Cache not found for input keys: nox-uv-ed1962a15f136f9bb5a100fd443a9c9490a8abdab41491d25d1ba2f875b5273b

Note the key is byte-identical across ubuntu, macOS, and Windows: it has no ${{ runner.os }} component, unlike the repo's elixir cache keys. Rather than add the OS component, this removes the step, because neither path is worth caching once the paths are corrected:

  • ~/.cache/uv would duplicate setup-uv's own cache, which is working — the same jobs log Cache hit for: setup-uv-2-x86_64-unknown-linux-gnu-… and uv cache saved with key: setup-uv-2-…, keyed per platform, python version, and uv version.
  • .nox is recreated on every run regardless: noxfile.py sets nox.options.reuse_existing_virtualenvs = False, and the logs confirm a fresh Creating virtual environment line for each of the four sessions.

No regression test: this is a CI workflow change with no code under test. The check is the test-python / test job itself — it should keep passing, and its post step should no longer emit the path-validation warning.

@max-sixty
max-sixty merged commit cbee4ba into mainAug 30, 2026
43 checks passed
@max-sixty
max-sixty deleted the ci/remove-inert-nox-cache branch August 30, 2026 22:50
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@prql-bot@max-sixty
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' ci: remove the inert nox/uv cache step from test-python by prql-bot · Pull Request #6253 · PRQL/prql · GitHub
Skip to content

ci: remove the inert nox/uv cache step from test-python - #6253

Merged
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache
Aug 30, 2026
Merged

ci: remove the inert nox/uv cache step from test-python#6253
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache

Conversation

@prql-bot

Copy link
Copy Markdown
Collaborator

The Cache uv and Nox step in test-python has never cached anything: both paths it names are wrong, so every restore misses and every save is skipped with a path-validation warning. This removes that step and the Compute pyproject.toml hash step that only fed its key. astral-sh/setup-uv already caches uv's cache directory with a correct per-platform key, and nox recreates its virtualenvs on every run, so nothing is lost.

Verified against the last two nightly runs: the nox-uv-… key missed on all three OSes on both days, and the post step logged Path(s) specified in the action for caching do(es) not exist.

Evidence and mechanism

Both cached paths are wrong:

  • .nox — the run command is nox -s tests typing -f prqlc/bindings/prqlc-python/noxfile.py. nox chdirs to the noxfile's directory, so the env dir is created at prqlc/bindings/prqlc-python/.nox, not the repo-root .nox the cache step names. The 2026-08-29 ubuntu job shows both: CWD /home/runner/work/prql/prql/prqlc/bindings/prqlc-python and nox > Creating virtual environment (uv) using python3.10 in .nox/tests-3-10.
  • ~/.cache/uvastral-sh/setup-uv@v7 sets UV_CACHE_DIR=/home/runner/work/_temp/setup-uv-cache, visible in that job's step env. uv never writes to ~/.cache/uv here.

With neither path present, the post step logs:

[warning]Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.

so no cache is ever written, and the restore correspondingly misses every time. Across the two most recent scheduled 3-OS runs — 33248713260 (2026-08-29) and 33181607218 (2026-08-28) — all six jobs logged:

Cache not found for input keys: nox-uv-ed1962a15f136f9bb5a100fd443a9c9490a8abdab41491d25d1ba2f875b5273b

Note the key is byte-identical across ubuntu, macOS, and Windows: it has no ${{ runner.os }} component, unlike the repo's elixir cache keys. Rather than add the OS component, this removes the step, because neither path is worth caching once the paths are corrected:

  • ~/.cache/uv would duplicate setup-uv's own cache, which is working — the same jobs log Cache hit for: setup-uv-2-x86_64-unknown-linux-gnu-… and uv cache saved with key: setup-uv-2-…, keyed per platform, python version, and uv version.
  • .nox is recreated on every run regardless: noxfile.py sets nox.options.reuse_existing_virtualenvs = False, and the logs confirm a fresh Creating virtual environment line for each of the four sessions.

No regression test: this is a CI workflow change with no code under test. The check is the test-python / test job itself — it should keep passing, and its post step should no longer emit the path-validation warning.

@max-sixty
max-sixty merged commit cbee4ba into mainAug 30, 2026
43 checks passed
@max-sixty
max-sixty deleted the ci/remove-inert-nox-cache branch August 30, 2026 22:50
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@prql-bot@max-sixty
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); ci: remove the inert nox/uv cache step from test-python by prql-bot · Pull Request #6253 · PRQL/prql · GitHub
Skip to content

ci: remove the inert nox/uv cache step from test-python - #6253

Merged
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache
Aug 30, 2026
Merged

ci: remove the inert nox/uv cache step from test-python#6253
max-sixty merged 1 commit into
mainfrom
ci/remove-inert-nox-cache

Conversation

@prql-bot

Copy link
Copy Markdown
Collaborator

The Cache uv and Nox step in test-python has never cached anything: both paths it names are wrong, so every restore misses and every save is skipped with a path-validation warning. This removes that step and the Compute pyproject.toml hash step that only fed its key. astral-sh/setup-uv already caches uv's cache directory with a correct per-platform key, and nox recreates its virtualenvs on every run, so nothing is lost.

Verified against the last two nightly runs: the nox-uv-… key missed on all three OSes on both days, and the post step logged Path(s) specified in the action for caching do(es) not exist.

Evidence and mechanism

Both cached paths are wrong:

  • .nox — the run command is nox -s tests typing -f prqlc/bindings/prqlc-python/noxfile.py. nox chdirs to the noxfile's directory, so the env dir is created at prqlc/bindings/prqlc-python/.nox, not the repo-root .nox the cache step names. The 2026-08-29 ubuntu job shows both: CWD /home/runner/work/prql/prql/prqlc/bindings/prqlc-python and nox > Creating virtual environment (uv) using python3.10 in .nox/tests-3-10.
  • ~/.cache/uvastral-sh/setup-uv@v7 sets UV_CACHE_DIR=/home/runner/work/_temp/setup-uv-cache, visible in that job's step env. uv never writes to ~/.cache/uv here.

With neither path present, the post step logs:

[warning]Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.

so no cache is ever written, and the restore correspondingly misses every time. Across the two most recent scheduled 3-OS runs — 33248713260 (2026-08-29) and 33181607218 (2026-08-28) — all six jobs logged:

Cache not found for input keys: nox-uv-ed1962a15f136f9bb5a100fd443a9c9490a8abdab41491d25d1ba2f875b5273b

Note the key is byte-identical across ubuntu, macOS, and Windows: it has no ${{ runner.os }} component, unlike the repo's elixir cache keys. Rather than add the OS component, this removes the step, because neither path is worth caching once the paths are corrected:

  • ~/.cache/uv would duplicate setup-uv's own cache, which is working — the same jobs log Cache hit for: setup-uv-2-x86_64-unknown-linux-gnu-… and uv cache saved with key: setup-uv-2-…, keyed per platform, python version, and uv version.
  • .nox is recreated on every run regardless: noxfile.py sets nox.options.reuse_existing_virtualenvs = False, and the logs confirm a fresh Creating virtual environment line for each of the four sessions.

No regression test: this is a CI workflow change with no code under test. The check is the test-python / test job itself — it should keep passing, and its post step should no longer emit the path-validation warning.

@max-sixty
max-sixty merged commit cbee4ba into mainAug 30, 2026
43 checks passed
@max-sixty
max-sixty deleted the ci/remove-inert-nox-cache branch August 30, 2026 22:50
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@prql-bot@max-sixty