dagucloud / dagucloud/dagu

Nix-Shell not found but dry run succeeds

Open
#1,256 3 comments 1 reaction 1 assignee Claimed by @yohamta0 View on GitHub
Dominant language
Go
Stars
4k
Forks
332
Avg merge
19h 9m
Merged PRs (30d)
137

Description

Running Dagu via Docker Compose. I don't know if it's the image or what, but the [invocation for `nix-shell`](https://docs.dagu.cloud/features/executors/shell#nix-shell) doesn't work when called in a DAG. Strange thing is, this failure isn't picked up when executing `dagu dry `. Info from within the container's below:

## DAG Snippet
```
- name: list-all-databases
shell: nix-shell
shellPackages: [mariadb]
command: |
mariadb -h mariadb -u root -p"${MARIADB_ROOT_PASSWORD}" -Nse "SHOW DATABASES;" | egrep -v '(information|performance)_schema|mysql|sys'
output: MADB_LIST

- name: db-folder-check-creation-backup
depends: list-all-databases
shell: nix-shell
shellPackages: [mariadb]
workingDir: /backups/dbs/mariadb
script: |
for mdatabase in $(echo ${MADB_LIST}) ; do
mkdir -p ${mdatabase}
mariadb_dump --u root --p"${MARIADB_ROOT_PASSWORD}" --databases ${madb} > ${mdatabase}/dump-$(date +%Y%m%d)-$(cat /proc/sys/kernel/random/uuid).sql
done
```

## Container Info
```
┌─ DAG: mariadb-backup ────────────────────────────────────────────────────────────────────────────┐
│ Status: Failed ✗ | Started: 13:39:27 | Elapsed: 401ms │
│ Run ID: 0199494f-7186-7c91-9dec-37a1e39815f1 │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘

Progress: ████████████████████████████████████████ 100% (3/3 steps)

Completed Steps:
✗ list-all-databases [0s] Error: failed to execute step "list-all-databases": exec: "nix-shell": executable file not found in $PATH
⚠ db-backup-cleanup
⚠ db-folder-check-creation-ba...

d3a6be505b43:/dagu/dags# dagu dry mariadb-backups.yaml
time=2025-09-14T13:40:04.924-04:00 level=INFO msg="Step started" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=list-all-databases
time=2025-09-14T13:40:04.931-04:00 level=INFO msg="Step finished" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=list-all-databases status=finished
time=2025-09-14T13:40:04.934-04:00 level=INFO msg="Step finished" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=list-all-databases status=finished
time=2025-09-14T13:40:05.034-04:00 level=INFO msg="Step started" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=db-folder-check-creation-backup
time=2025-09-14T13:40:05.040-04:00 level=INFO msg="Step finished" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=db-folder-check-creation-backup status=finished
time=2025-09-14T13:40:05.047-04:00 level=INFO msg="Step finished" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=db-folder-check-creation-backup status=finished
time=2025-09-14T13:40:05.140-04:00 level=INFO msg="Step started" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=db-backup-cleanup
time=2025-09-14T13:40:05.143-04:00 level=INFO msg="Step finished" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=db-backup-cleanup status=running
time=2025-09-14T13:40:05.149-04:00 level=INFO msg="Step finished" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=db-backup-cleanup status=finished
time=2025-09-14T13:40:05.244-04:00 level=INFO msg="Dry-run completed" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 params=[]

Summary ->
+--------------------------------------+----------------+---------------------------+---------------------------+----------+--------+-------+
| RUN ID | NAME | STARTED AT | FINISHED AT | STATUS | PARAMS | ERROR |
+--------------------------------------+----------------+---------------------------+---------------------------+----------+--------+-------+
| 01994950-04ba-728c-8737-ccbae3ee5175 | mariadb-backup | 2025-09-14T13:40:04-04:00 | 2025-09-14T13:40:05-04:00 | finished | | |
+--------------------------------------+----------------+---------------------------+---------------------------+----------+--------+-------+
Details ->
+---+---------------------------------+------------+---------------------------+----------+----------------------------------------------------------------------------------------------------------------------------+-------+
| # | STEP | STARTED AT | FINISHED AT | STATUS | COMMAND | ERROR |
+---+---------------------------------+------------+---------------------------+----------+----------------------------------------------------------------------------------------------------------------------------+-------+
| 1 | list-all-databases | | 2025-09-14T13:40:04-04:00 | finished | -h mariadb -u root -p"${MARIADB_ROOT_PASSWORD}" -Nse SHOW DATABASES; | egrep -v (information|performance)_schema|mysql|sys | |
| 2 | db-folder-check-creation-backup | | 2025-09-14T13:40:05-04:00 | finished | | |
| 3 | db-backup-cleanup | | 2025-09-14T13:40:05-04:00 | finished | $(pwd) -type f -name *.sql -ctime +7 | xargs rm -fv | |
+---+---------------------------------+------------+---------------------------+----------+----------------------------------------------------------------------------------------------------------------------------+-------+

d3a6be505b43:/dagu/dags# dagu version
1.22.4-be57f3d

d3a6be505b43:/dagu/dags# which nix-shell
d3a6be505b43:/dagu/dags#
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.