ci: fix DOWNLOAD_FILE expansion for rootfs builds - #209

Merged
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file
Aug 17, 2026
Merged

ci: fix DOWNLOAD_FILE expansion for rootfs builds#209
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file

Conversation

@BKPepe

Copy link
Copy Markdown
Member

Since f6d7df9 every RootFS job fails: the build-args heredoc is single-quoted, so ${TARGET//\//-} is never expanded and setup.sh greps for the literal string openwrt-${TARGET_TAG}-rootfs.tar.gz. With no match, file_name is empty and sha256sum -c runs against the whole sha256sums file — the "12414 listed files could not be read" failures visible on every PR and dispatch (e.g. the runs on #204 and #208).

Expand the tag in the shell and keep DOWNLOAD_FILE a pattern: release branches embed the version and revision in the file name (openwrt-24.10-snapshot-r…-x86-64-rootfs.tar.gz) and malta/be has a -default- profile infix there, while the targz- image variants must not match. Verified against the live sha256sums: exactly one match for all eight rootfs targets on both snapshots and releases/24.10-SNAPSHOT.

Also make setup.sh fail with a clear error when the pattern matches nothing.

Complements #208: without this fix, any rebuild of the rootfs containers — manual or scheduled — keeps failing, including for openwrt-24.10, which the openwrt/packages runtime tests depend on.

f6d7df9 ("ci: select only correct targz for rootfs build") builds the
rootfs archive name with ${TARGET//\//-}, but the heredoc generating
the build args is single-quoted, so the substitution never happens.
The literal openwrt-${TARGET_TAG}-rootfs.tar.gz then reaches setup.sh.
grep finds no match, leaving file_name empty and causing the
verification to check the entire sha256sums file. Every rootfs job
has since failed with "12414 listed files could not be read".
Expand the target tag in the shell before generating the args, while
keeping DOWNLOAD_FILE as a pattern: release branches embed the
version and revision in the filename, and malta/be has a -default-
profile infix. The pattern must also exclude targz- image variants.
Verified to match exactly one file for all eight rootfs targets on
both snapshots and releases/24.10-SNAPSHOT.
Make setup.sh fail loudly when the pattern matches nothing instead of
producing the misleading checksum error.
CopilotAI lite review requested due to automatic review settings August 16, 2026 10:25

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@efahl

Copy link
Copy Markdown
Contributor

Oho, so that's what I did wrong. I have no way to test (as mentioned in #202), so was winging it.

Thanks for this fix! Once it gets in we should rerun the 25.12.5 builds to resolve #207

@BKPepe

Copy link
Copy Markdown
MemberAuthor

@aparcar Can you please look at this? 🙏

@aparcar
aparcar merged commit fb30fc3 into openwrt:mainAug 17, 2026
199 of 201 checks passed
@aparcar

Copy link
Copy Markdown
Member

Thanks!

@efahl

Copy link
Copy Markdown
Contributor

@nybblr

nybblr commented Sep 3, 2026

Copy link
Copy Markdown

The 25.12.5 series, specifically the docker.io/openwrt/rootfs:x86_64-25.12.5 tag, is missing on docker and github (#207), now that this fix is merged, does a job need rerunning?

@efahl

efahl commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@nybblr Yes, but there are other issues blocking it, too. See #211

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.

5 participants

@BKPepe@efahl@aparcar@nybblr
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

ci: fix DOWNLOAD_FILE expansion for rootfs builds - #209

Merged
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file
Aug 17, 2026
Merged

ci: fix DOWNLOAD_FILE expansion for rootfs builds#209
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file

Conversation

@BKPepe

Copy link
Copy Markdown
Member

Since f6d7df9 every RootFS job fails: the build-args heredoc is single-quoted, so ${TARGET//\//-} is never expanded and setup.sh greps for the literal string openwrt-${TARGET_TAG}-rootfs.tar.gz. With no match, file_name is empty and sha256sum -c runs against the whole sha256sums file — the "12414 listed files could not be read" failures visible on every PR and dispatch (e.g. the runs on #204 and #208).

Expand the tag in the shell and keep DOWNLOAD_FILE a pattern: release branches embed the version and revision in the file name (openwrt-24.10-snapshot-r…-x86-64-rootfs.tar.gz) and malta/be has a -default- profile infix there, while the targz- image variants must not match. Verified against the live sha256sums: exactly one match for all eight rootfs targets on both snapshots and releases/24.10-SNAPSHOT.

Also make setup.sh fail with a clear error when the pattern matches nothing.

Complements #208: without this fix, any rebuild of the rootfs containers — manual or scheduled — keeps failing, including for openwrt-24.10, which the openwrt/packages runtime tests depend on.

f6d7df9 ("ci: select only correct targz for rootfs build") builds the
rootfs archive name with ${TARGET//\//-}, but the heredoc generating
the build args is single-quoted, so the substitution never happens.
The literal openwrt-${TARGET_TAG}-rootfs.tar.gz then reaches setup.sh.
grep finds no match, leaving file_name empty and causing the
verification to check the entire sha256sums file. Every rootfs job
has since failed with "12414 listed files could not be read".
Expand the target tag in the shell before generating the args, while
keeping DOWNLOAD_FILE as a pattern: release branches embed the
version and revision in the filename, and malta/be has a -default-
profile infix. The pattern must also exclude targz- image variants.
Verified to match exactly one file for all eight rootfs targets on
both snapshots and releases/24.10-SNAPSHOT.
Make setup.sh fail loudly when the pattern matches nothing instead of
producing the misleading checksum error.
CopilotAI lite review requested due to automatic review settings August 16, 2026 10:25

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@efahl

Copy link
Copy Markdown
Contributor

Oho, so that's what I did wrong. I have no way to test (as mentioned in #202), so was winging it.

Thanks for this fix! Once it gets in we should rerun the 25.12.5 builds to resolve #207

@BKPepe

Copy link
Copy Markdown
MemberAuthor

@aparcar Can you please look at this? 🙏

@aparcar
aparcar merged commit fb30fc3 into openwrt:mainAug 17, 2026
199 of 201 checks passed
@aparcar

Copy link
Copy Markdown
Member

Thanks!

@efahl

Copy link
Copy Markdown
Contributor

@nybblr

nybblr commented Sep 3, 2026

Copy link
Copy Markdown

The 25.12.5 series, specifically the docker.io/openwrt/rootfs:x86_64-25.12.5 tag, is missing on docker and github (#207), now that this fix is merged, does a job need rerunning?

@efahl

efahl commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@nybblr Yes, but there are other issues blocking it, too. See #211

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.

5 participants

@BKPepe@efahl@aparcar@nybblr
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

ci: fix DOWNLOAD_FILE expansion for rootfs builds - #209

Merged
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file
Aug 17, 2026
Merged

ci: fix DOWNLOAD_FILE expansion for rootfs builds#209
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file

Conversation

@BKPepe

Copy link
Copy Markdown
Member

Since f6d7df9 every RootFS job fails: the build-args heredoc is single-quoted, so ${TARGET//\//-} is never expanded and setup.sh greps for the literal string openwrt-${TARGET_TAG}-rootfs.tar.gz. With no match, file_name is empty and sha256sum -c runs against the whole sha256sums file — the "12414 listed files could not be read" failures visible on every PR and dispatch (e.g. the runs on #204 and #208).

Expand the tag in the shell and keep DOWNLOAD_FILE a pattern: release branches embed the version and revision in the file name (openwrt-24.10-snapshot-r…-x86-64-rootfs.tar.gz) and malta/be has a -default- profile infix there, while the targz- image variants must not match. Verified against the live sha256sums: exactly one match for all eight rootfs targets on both snapshots and releases/24.10-SNAPSHOT.

Also make setup.sh fail with a clear error when the pattern matches nothing.

Complements #208: without this fix, any rebuild of the rootfs containers — manual or scheduled — keeps failing, including for openwrt-24.10, which the openwrt/packages runtime tests depend on.

f6d7df9 ("ci: select only correct targz for rootfs build") builds the
rootfs archive name with ${TARGET//\//-}, but the heredoc generating
the build args is single-quoted, so the substitution never happens.
The literal openwrt-${TARGET_TAG}-rootfs.tar.gz then reaches setup.sh.
grep finds no match, leaving file_name empty and causing the
verification to check the entire sha256sums file. Every rootfs job
has since failed with "12414 listed files could not be read".
Expand the target tag in the shell before generating the args, while
keeping DOWNLOAD_FILE as a pattern: release branches embed the
version and revision in the filename, and malta/be has a -default-
profile infix. The pattern must also exclude targz- image variants.
Verified to match exactly one file for all eight rootfs targets on
both snapshots and releases/24.10-SNAPSHOT.
Make setup.sh fail loudly when the pattern matches nothing instead of
producing the misleading checksum error.
CopilotAI lite review requested due to automatic review settings August 16, 2026 10:25

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@efahl

Copy link
Copy Markdown
Contributor

Oho, so that's what I did wrong. I have no way to test (as mentioned in #202), so was winging it.

Thanks for this fix! Once it gets in we should rerun the 25.12.5 builds to resolve #207

@BKPepe

Copy link
Copy Markdown
MemberAuthor

@aparcar Can you please look at this? 🙏

@aparcar
aparcar merged commit fb30fc3 into openwrt:mainAug 17, 2026
199 of 201 checks passed
@aparcar

Copy link
Copy Markdown
Member

Thanks!

@efahl

Copy link
Copy Markdown
Contributor

@nybblr

nybblr commented Sep 3, 2026

Copy link
Copy Markdown

The 25.12.5 series, specifically the docker.io/openwrt/rootfs:x86_64-25.12.5 tag, is missing on docker and github (#207), now that this fix is merged, does a job need rerunning?

@efahl

efahl commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@nybblr Yes, but there are other issues blocking it, too. See #211

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.

5 participants

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

ci: fix DOWNLOAD_FILE expansion for rootfs builds - #209

Merged
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file
Aug 17, 2026
Merged

ci: fix DOWNLOAD_FILE expansion for rootfs builds#209
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file

Conversation

@BKPepe

Copy link
Copy Markdown
Member

Since f6d7df9 every RootFS job fails: the build-args heredoc is single-quoted, so ${TARGET//\//-} is never expanded and setup.sh greps for the literal string openwrt-${TARGET_TAG}-rootfs.tar.gz. With no match, file_name is empty and sha256sum -c runs against the whole sha256sums file — the "12414 listed files could not be read" failures visible on every PR and dispatch (e.g. the runs on #204 and #208).

Expand the tag in the shell and keep DOWNLOAD_FILE a pattern: release branches embed the version and revision in the file name (openwrt-24.10-snapshot-r…-x86-64-rootfs.tar.gz) and malta/be has a -default- profile infix there, while the targz- image variants must not match. Verified against the live sha256sums: exactly one match for all eight rootfs targets on both snapshots and releases/24.10-SNAPSHOT.

Also make setup.sh fail with a clear error when the pattern matches nothing.

Complements #208: without this fix, any rebuild of the rootfs containers — manual or scheduled — keeps failing, including for openwrt-24.10, which the openwrt/packages runtime tests depend on.

f6d7df9 ("ci: select only correct targz for rootfs build") builds the
rootfs archive name with ${TARGET//\//-}, but the heredoc generating
the build args is single-quoted, so the substitution never happens.
The literal openwrt-${TARGET_TAG}-rootfs.tar.gz then reaches setup.sh.
grep finds no match, leaving file_name empty and causing the
verification to check the entire sha256sums file. Every rootfs job
has since failed with "12414 listed files could not be read".
Expand the target tag in the shell before generating the args, while
keeping DOWNLOAD_FILE as a pattern: release branches embed the
version and revision in the filename, and malta/be has a -default-
profile infix. The pattern must also exclude targz- image variants.
Verified to match exactly one file for all eight rootfs targets on
both snapshots and releases/24.10-SNAPSHOT.
Make setup.sh fail loudly when the pattern matches nothing instead of
producing the misleading checksum error.
CopilotAI lite review requested due to automatic review settings August 16, 2026 10:25

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@efahl

Copy link
Copy Markdown
Contributor

Oho, so that's what I did wrong. I have no way to test (as mentioned in #202), so was winging it.

Thanks for this fix! Once it gets in we should rerun the 25.12.5 builds to resolve #207

@BKPepe

Copy link
Copy Markdown
MemberAuthor

@aparcar Can you please look at this? 🙏

@aparcar
aparcar merged commit fb30fc3 into openwrt:mainAug 17, 2026
199 of 201 checks passed
@aparcar

Copy link
Copy Markdown
Member

Thanks!

@efahl

Copy link
Copy Markdown
Contributor

@nybblr

nybblr commented Sep 3, 2026

Copy link
Copy Markdown

The 25.12.5 series, specifically the docker.io/openwrt/rootfs:x86_64-25.12.5 tag, is missing on docker and github (#207), now that this fix is merged, does a job need rerunning?

@efahl

efahl commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@nybblr Yes, but there are other issues blocking it, too. See #211

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.

5 participants

@BKPepe@efahl@aparcar@nybblr
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

ci: fix DOWNLOAD_FILE expansion for rootfs builds - #209

Merged
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file
Aug 17, 2026
Merged

ci: fix DOWNLOAD_FILE expansion for rootfs builds#209
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file

Conversation

@BKPepe

Copy link
Copy Markdown
Member

Since f6d7df9 every RootFS job fails: the build-args heredoc is single-quoted, so ${TARGET//\//-} is never expanded and setup.sh greps for the literal string openwrt-${TARGET_TAG}-rootfs.tar.gz. With no match, file_name is empty and sha256sum -c runs against the whole sha256sums file — the "12414 listed files could not be read" failures visible on every PR and dispatch (e.g. the runs on #204 and #208).

Expand the tag in the shell and keep DOWNLOAD_FILE a pattern: release branches embed the version and revision in the file name (openwrt-24.10-snapshot-r…-x86-64-rootfs.tar.gz) and malta/be has a -default- profile infix there, while the targz- image variants must not match. Verified against the live sha256sums: exactly one match for all eight rootfs targets on both snapshots and releases/24.10-SNAPSHOT.

Also make setup.sh fail with a clear error when the pattern matches nothing.

Complements #208: without this fix, any rebuild of the rootfs containers — manual or scheduled — keeps failing, including for openwrt-24.10, which the openwrt/packages runtime tests depend on.

f6d7df9 ("ci: select only correct targz for rootfs build") builds the
rootfs archive name with ${TARGET//\//-}, but the heredoc generating
the build args is single-quoted, so the substitution never happens.
The literal openwrt-${TARGET_TAG}-rootfs.tar.gz then reaches setup.sh.
grep finds no match, leaving file_name empty and causing the
verification to check the entire sha256sums file. Every rootfs job
has since failed with "12414 listed files could not be read".
Expand the target tag in the shell before generating the args, while
keeping DOWNLOAD_FILE as a pattern: release branches embed the
version and revision in the filename, and malta/be has a -default-
profile infix. The pattern must also exclude targz- image variants.
Verified to match exactly one file for all eight rootfs targets on
both snapshots and releases/24.10-SNAPSHOT.
Make setup.sh fail loudly when the pattern matches nothing instead of
producing the misleading checksum error.
CopilotAI lite review requested due to automatic review settings August 16, 2026 10:25

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@efahl

Copy link
Copy Markdown
Contributor

Oho, so that's what I did wrong. I have no way to test (as mentioned in #202), so was winging it.

Thanks for this fix! Once it gets in we should rerun the 25.12.5 builds to resolve #207

@BKPepe

Copy link
Copy Markdown
MemberAuthor

@aparcar Can you please look at this? 🙏

@aparcar
aparcar merged commit fb30fc3 into openwrt:mainAug 17, 2026
199 of 201 checks passed
@aparcar

Copy link
Copy Markdown
Member

Thanks!

@efahl

Copy link
Copy Markdown
Contributor

@nybblr

nybblr commented Sep 3, 2026

Copy link
Copy Markdown

The 25.12.5 series, specifically the docker.io/openwrt/rootfs:x86_64-25.12.5 tag, is missing on docker and github (#207), now that this fix is merged, does a job need rerunning?

@efahl

efahl commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@nybblr Yes, but there are other issues blocking it, too. See #211

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.

5 participants

@BKPepe@efahl@aparcar@nybblr
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

ci: fix DOWNLOAD_FILE expansion for rootfs builds - #209

Merged
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file
Aug 17, 2026
Merged

ci: fix DOWNLOAD_FILE expansion for rootfs builds#209
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file

Conversation

@BKPepe

Copy link
Copy Markdown
Member

Since f6d7df9 every RootFS job fails: the build-args heredoc is single-quoted, so ${TARGET//\//-} is never expanded and setup.sh greps for the literal string openwrt-${TARGET_TAG}-rootfs.tar.gz. With no match, file_name is empty and sha256sum -c runs against the whole sha256sums file — the "12414 listed files could not be read" failures visible on every PR and dispatch (e.g. the runs on #204 and #208).

Expand the tag in the shell and keep DOWNLOAD_FILE a pattern: release branches embed the version and revision in the file name (openwrt-24.10-snapshot-r…-x86-64-rootfs.tar.gz) and malta/be has a -default- profile infix there, while the targz- image variants must not match. Verified against the live sha256sums: exactly one match for all eight rootfs targets on both snapshots and releases/24.10-SNAPSHOT.

Also make setup.sh fail with a clear error when the pattern matches nothing.

Complements #208: without this fix, any rebuild of the rootfs containers — manual or scheduled — keeps failing, including for openwrt-24.10, which the openwrt/packages runtime tests depend on.

f6d7df9 ("ci: select only correct targz for rootfs build") builds the
rootfs archive name with ${TARGET//\//-}, but the heredoc generating
the build args is single-quoted, so the substitution never happens.
The literal openwrt-${TARGET_TAG}-rootfs.tar.gz then reaches setup.sh.
grep finds no match, leaving file_name empty and causing the
verification to check the entire sha256sums file. Every rootfs job
has since failed with "12414 listed files could not be read".
Expand the target tag in the shell before generating the args, while
keeping DOWNLOAD_FILE as a pattern: release branches embed the
version and revision in the filename, and malta/be has a -default-
profile infix. The pattern must also exclude targz- image variants.
Verified to match exactly one file for all eight rootfs targets on
both snapshots and releases/24.10-SNAPSHOT.
Make setup.sh fail loudly when the pattern matches nothing instead of
producing the misleading checksum error.
CopilotAI lite review requested due to automatic review settings August 16, 2026 10:25

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@efahl

Copy link
Copy Markdown
Contributor

Oho, so that's what I did wrong. I have no way to test (as mentioned in #202), so was winging it.

Thanks for this fix! Once it gets in we should rerun the 25.12.5 builds to resolve #207

@BKPepe

Copy link
Copy Markdown
MemberAuthor

@aparcar Can you please look at this? 🙏

@aparcar
aparcar merged commit fb30fc3 into openwrt:mainAug 17, 2026
199 of 201 checks passed
@aparcar

Copy link
Copy Markdown
Member

Thanks!

@efahl

Copy link
Copy Markdown
Contributor

@nybblr

nybblr commented Sep 3, 2026

Copy link
Copy Markdown

The 25.12.5 series, specifically the docker.io/openwrt/rootfs:x86_64-25.12.5 tag, is missing on docker and github (#207), now that this fix is merged, does a job need rerunning?

@efahl

efahl commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@nybblr Yes, but there are other issues blocking it, too. See #211

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.

5 participants

@BKPepe@efahl@aparcar@nybblr
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

ci: fix DOWNLOAD_FILE expansion for rootfs builds - #209

Merged
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file
Aug 17, 2026
Merged

ci: fix DOWNLOAD_FILE expansion for rootfs builds#209
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file

Conversation

@BKPepe

Copy link
Copy Markdown
Member

Since f6d7df9 every RootFS job fails: the build-args heredoc is single-quoted, so ${TARGET//\//-} is never expanded and setup.sh greps for the literal string openwrt-${TARGET_TAG}-rootfs.tar.gz. With no match, file_name is empty and sha256sum -c runs against the whole sha256sums file — the "12414 listed files could not be read" failures visible on every PR and dispatch (e.g. the runs on #204 and #208).

Expand the tag in the shell and keep DOWNLOAD_FILE a pattern: release branches embed the version and revision in the file name (openwrt-24.10-snapshot-r…-x86-64-rootfs.tar.gz) and malta/be has a -default- profile infix there, while the targz- image variants must not match. Verified against the live sha256sums: exactly one match for all eight rootfs targets on both snapshots and releases/24.10-SNAPSHOT.

Also make setup.sh fail with a clear error when the pattern matches nothing.

Complements #208: without this fix, any rebuild of the rootfs containers — manual or scheduled — keeps failing, including for openwrt-24.10, which the openwrt/packages runtime tests depend on.

f6d7df9 ("ci: select only correct targz for rootfs build") builds the
rootfs archive name with ${TARGET//\//-}, but the heredoc generating
the build args is single-quoted, so the substitution never happens.
The literal openwrt-${TARGET_TAG}-rootfs.tar.gz then reaches setup.sh.
grep finds no match, leaving file_name empty and causing the
verification to check the entire sha256sums file. Every rootfs job
has since failed with "12414 listed files could not be read".
Expand the target tag in the shell before generating the args, while
keeping DOWNLOAD_FILE as a pattern: release branches embed the
version and revision in the filename, and malta/be has a -default-
profile infix. The pattern must also exclude targz- image variants.
Verified to match exactly one file for all eight rootfs targets on
both snapshots and releases/24.10-SNAPSHOT.
Make setup.sh fail loudly when the pattern matches nothing instead of
producing the misleading checksum error.
CopilotAI lite review requested due to automatic review settings August 16, 2026 10:25

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@efahl

Copy link
Copy Markdown
Contributor

Oho, so that's what I did wrong. I have no way to test (as mentioned in #202), so was winging it.

Thanks for this fix! Once it gets in we should rerun the 25.12.5 builds to resolve #207

@BKPepe

Copy link
Copy Markdown
MemberAuthor

@aparcar Can you please look at this? 🙏

@aparcar
aparcar merged commit fb30fc3 into openwrt:mainAug 17, 2026
199 of 201 checks passed
@aparcar

Copy link
Copy Markdown
Member

Thanks!

@efahl

Copy link
Copy Markdown
Contributor

@nybblr

nybblr commented Sep 3, 2026

Copy link
Copy Markdown

The 25.12.5 series, specifically the docker.io/openwrt/rootfs:x86_64-25.12.5 tag, is missing on docker and github (#207), now that this fix is merged, does a job need rerunning?

@efahl

efahl commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@nybblr Yes, but there are other issues blocking it, too. See #211

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.

5 participants

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

ci: fix DOWNLOAD_FILE expansion for rootfs builds - #209

Merged
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file
Aug 17, 2026
Merged

ci: fix DOWNLOAD_FILE expansion for rootfs builds#209
aparcar merged 1 commit into
openwrt:mainfrom
BKPepe:fix-rootfs-download-file

Conversation

@BKPepe

Copy link
Copy Markdown
Member

Since f6d7df9 every RootFS job fails: the build-args heredoc is single-quoted, so ${TARGET//\//-} is never expanded and setup.sh greps for the literal string openwrt-${TARGET_TAG}-rootfs.tar.gz. With no match, file_name is empty and sha256sum -c runs against the whole sha256sums file — the "12414 listed files could not be read" failures visible on every PR and dispatch (e.g. the runs on #204 and #208).

Expand the tag in the shell and keep DOWNLOAD_FILE a pattern: release branches embed the version and revision in the file name (openwrt-24.10-snapshot-r…-x86-64-rootfs.tar.gz) and malta/be has a -default- profile infix there, while the targz- image variants must not match. Verified against the live sha256sums: exactly one match for all eight rootfs targets on both snapshots and releases/24.10-SNAPSHOT.

Also make setup.sh fail with a clear error when the pattern matches nothing.

Complements #208: without this fix, any rebuild of the rootfs containers — manual or scheduled — keeps failing, including for openwrt-24.10, which the openwrt/packages runtime tests depend on.

f6d7df9 ("ci: select only correct targz for rootfs build") builds the
rootfs archive name with ${TARGET//\//-}, but the heredoc generating
the build args is single-quoted, so the substitution never happens.
The literal openwrt-${TARGET_TAG}-rootfs.tar.gz then reaches setup.sh.
grep finds no match, leaving file_name empty and causing the
verification to check the entire sha256sums file. Every rootfs job
has since failed with "12414 listed files could not be read".
Expand the target tag in the shell before generating the args, while
keeping DOWNLOAD_FILE as a pattern: release branches embed the
version and revision in the filename, and malta/be has a -default-
profile infix. The pattern must also exclude targz- image variants.
Verified to match exactly one file for all eight rootfs targets on
both snapshots and releases/24.10-SNAPSHOT.
Make setup.sh fail loudly when the pattern matches nothing instead of
producing the misleading checksum error.
CopilotAI lite review requested due to automatic review settings August 16, 2026 10:25

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@efahl

Copy link
Copy Markdown
Contributor

Oho, so that's what I did wrong. I have no way to test (as mentioned in #202), so was winging it.

Thanks for this fix! Once it gets in we should rerun the 25.12.5 builds to resolve #207

@BKPepe

Copy link
Copy Markdown
MemberAuthor

@aparcar Can you please look at this? 🙏

@aparcar
aparcar merged commit fb30fc3 into openwrt:mainAug 17, 2026
199 of 201 checks passed
@aparcar

Copy link
Copy Markdown
Member

Thanks!

@efahl

Copy link
Copy Markdown
Contributor

@nybblr

nybblr commented Sep 3, 2026

Copy link
Copy Markdown

The 25.12.5 series, specifically the docker.io/openwrt/rootfs:x86_64-25.12.5 tag, is missing on docker and github (#207), now that this fix is merged, does a job need rerunning?

@efahl

efahl commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@nybblr Yes, but there are other issues blocking it, too. See #211

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.

5 participants

@BKPepe@efahl@aparcar@nybblr