Skip to content

Conversation

@gmpinder
Copy link
Member

@gmpinder gmpinder commented Jan 4, 2026

Was running into an issue testing on an alpine image:

[04:28:22 g.i/b/c/test-build-chunked-oci:pr-662-43_linux_amd64_unchunked] => ============================ Start 'script' Module ============================
[04:28:22 g.i/b/c/test-build-chunked-oci:pr-662-43_linux_amd64_unchunked] => find: unrecognized: -execdir
[04:28:22 g.i/b/c/test-build-chunked-oci:pr-662-43_linux_amd64_unchunked] => BusyBox v1.37.0 (2025-12-16 14:19:28 UTC) multi-call binary.

This PR updates the code to use Nushell built-ins to keep similar functionality across distros.

@gmpinder gmpinder self-assigned this Jan 4, 2026
@gmpinder gmpinder force-pushed the fix-executable-script branch from 0cbc6b1 to 1f018cd Compare January 4, 2026 04:46
@fiftydinar fiftydinar merged commit 5c19c82 into main Jan 4, 2026
5 checks passed
@fiftydinar fiftydinar deleted the fix-executable-script branch January 4, 2026 10:29
@chapati
Copy link

chapati commented Jan 4, 2026

@fiftydinar

This change just broke my build:

yaml file:

# yaml-language-server: $schema=https://schema.blue-build.org/module-stage-list-v1.json
modules:
  - type: script
    snippets:
      - "curl -L 'https://download.mozilla.org/?product=firefox-devedition-latest-ssl&os=linux64&lang=en-US' > firefox-dev.tar.xz" 
      - "tar xf firefox-dev.tar.xz"
      - "mv firefox /usr/lib/opt/firefox-dev"
      - "rm firefox-dev.tar.xz"
      - "ln -s /usr/lib/opt/firefox-dev /var/opt/firefox-dev"

Error:

 => #46 [stage-5  9/18] RUN --mount=type=bind,from=stage-files,src=/files,dst=/tmp/files,rw --mount=type=bind,from=ghcr.io/blue-build/modules/script:latest,src=/modules,dst=/tmp/modules,rw --mount=type=bind,src=.bluebuild-scripts_0a6bb7c7,dst=/tmp/scripts/,ro   --mount=type=cache,dst=/var/cache/rpm-ostree,id=rpm-ostree-cache-sky-blue-nvidia-open-stable,sharing=locked   --mount=type=cache,dst=/var/cache/libdnf5,id=dnf-cache-sky-blue-nvidia-open-stable,sharing=locked /tmp/scripts/run_module.sh 'script' '{"type":"script","snippets":["curl -L \u0027https://download.mozilla.org/?product=firefox-devedition-latest-ssl\u0026os=linux64\u0026lang=en-US\u0027 \u003e firefox-dev.tar.xz","tar xf firefox-dev.tar.xz","mv firefox /usr/lib/opt/firefox-dev","rm firefox-dev.tar.xz","ln -s /usr/lib/opt/firefox-dev /var/opt/firefox-dev"]}'
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.077 ============================ Start 'script' Module ============================
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.102 Error: nu::shell::only_supports_this_input_type
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.103 
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104   × Input type not supported.
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104     ╭─[/tmp/modules/script/script.nu:11:16]
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104  10 │   ls
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104  11 │     | where { ($in | path type) == 'file' }
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104     ·                ─┬─   ────┬────
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104     ·                 │        ╰── only string and list<string> input data is supported
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104     ·                 ╰── input type: record<name: string, type: string, size: filesize, modified: datetime>
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104  12 │     | each { chmod +x $in }
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104     ╰────
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104 
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.107 ============================ Failed 'script' Module ============================

fiftydinar added a commit that referenced this pull request Jan 4, 2026
@fiftydinar
Copy link
Collaborator

@fiftydinar

This change just broke my build:

yaml file:

# yaml-language-server: $schema=https://schema.blue-build.org/module-stage-list-v1.json
modules:
  - type: script
    snippets:
      - "curl -L 'https://download.mozilla.org/?product=firefox-devedition-latest-ssl&os=linux64&lang=en-US' > firefox-dev.tar.xz" 
      - "tar xf firefox-dev.tar.xz"
      - "mv firefox /usr/lib/opt/firefox-dev"
      - "rm firefox-dev.tar.xz"
      - "ln -s /usr/lib/opt/firefox-dev /var/opt/firefox-dev"

Error:

 => #46 [stage-5  9/18] RUN --mount=type=bind,from=stage-files,src=/files,dst=/tmp/files,rw --mount=type=bind,from=ghcr.io/blue-build/modules/script:latest,src=/modules,dst=/tmp/modules,rw --mount=type=bind,src=.bluebuild-scripts_0a6bb7c7,dst=/tmp/scripts/,ro   --mount=type=cache,dst=/var/cache/rpm-ostree,id=rpm-ostree-cache-sky-blue-nvidia-open-stable,sharing=locked   --mount=type=cache,dst=/var/cache/libdnf5,id=dnf-cache-sky-blue-nvidia-open-stable,sharing=locked /tmp/scripts/run_module.sh 'script' '{"type":"script","snippets":["curl -L \u0027https://download.mozilla.org/?product=firefox-devedition-latest-ssl\u0026os=linux64\u0026lang=en-US\u0027 \u003e firefox-dev.tar.xz","tar xf firefox-dev.tar.xz","mv firefox /usr/lib/opt/firefox-dev","rm firefox-dev.tar.xz","ln -s /usr/lib/opt/firefox-dev /var/opt/firefox-dev"]}'
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.077 ============================ Start 'script' Module ============================
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.102 Error: nu::shell::only_supports_this_input_type
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.103 
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104   × Input type not supported.
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104     ╭─[/tmp/modules/script/script.nu:11:16]
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104  10 │   ls
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104  11 │     | where { ($in | path type) == 'file' }
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104     ·                ─┬─   ────┬────
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104     ·                 │        ╰── only string and list<string> input data is supported
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104     ·                 ╰── input type: record<name: string, type: string, size: filesize, modified: datetime>
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104  12 │     | each { chmod +x $in }
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104     ╰────
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.104 
[11:53:50 g.i/c/sky-blue-nvidia-open:stable] => #46 0.107 ============================ Failed 'script' Module ============================

Reverted, sorry

@chapati
Copy link

chapati commented Jan 4, 2026

@fiftydinar Thank you for resolving it so fast!

@gmpinder
Copy link
Member Author

gmpinder commented Jan 4, 2026

I know what this change was missing. I'll have to make a new PR.

Sign up for free to 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.

4 participants