Commit Graph

123 Commits

Author SHA1 Message Date
Yota Hamada
c72623154d
feat(cmd): add cleanup command (#1489)
* **New Features**
* Added `cleanup` command to remove old DAG run history with
configurable retention periods
* Supports `--dry-run` flag to preview which runs would be removed
without deleting
  * Includes `--yes` flag to skip confirmation prompts
2025-12-16 23:36:24 +09:00
YotaHamada
1fb5f30d11
feat(cmd): add exec command for ad-hoc DAG runs (#1384)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-02 20:47:39 +09:00
YotaHamada
85439bc71e
Refactor internal packages into layered architecture (#1319) 2025-10-13 03:52:00 +09:00
YotaHamada
17e719382d
Add Executor Validation and Shebang Handling in Scripts (#1318) 2025-10-12 13:48:39 +09:00
YotaHamada
1133d2b725
feat: limit system environment variables passed to step processes (#1303) 2025-10-10 02:29:42 +09:00
YotaHamada
a61558b72c
refactor: Refactor test DAGs to be concise and test names to PascalCase (#1269) 2025-09-26 15:39:49 +09:00
YotaHamada
d07c246b69
feat(api, cmd): Add DAG validate command and API endpoint (#1254) 2025-09-14 23:56:22 +09:00
YotaHamada
cc0446fbb0
feat: DAG level container field to run steps in a single container (#1154) 2025-08-03 15:32:53 +09:00
YotaHamada
5c086da8f1
[#1028] feat: implement distributed task execution (#1116) 2025-07-22 12:52:12 +09:00
YotaHamada
d9eaa13437
fix: support repeat policy for nested DAGs (#1022) 2025-06-18 00:59:07 +09:00
YotaHamada
2967d22849
[fb-next] Command for migrating history data from v1.16.x to v1.17.x (#969) 2025-06-01 00:56:07 +09:00
YotaHamada
b98063dd87 [#938] Add Queue Feature (#940)
Original implementation by Kriyanshi: https://github.com/dagu-org/dagu/pull/690

Co-authored-by: Kriyanshi Shah <59494745+kriyanshii@users.noreply.github.com>
2025-05-24 15:46:29 +09:00
Yota Hamada
be37a0be88
[#854] config: fix: BasePath config is not working (#860) 2025-02-25 01:28:59 +09:00
Yota Hamada
6db86b9130
[#846] Fix: issue in calling sub-DAG (#848)
Some checks are pending
CI / Check for spelling errors (push) Waiting to run
CI / Go Linter (push) Waiting to run
CI / Test (push) Waiting to run
2025-02-18 23:51:05 +09:00
Yota Hamada
2c2a5cefe5
test: add integration tests (#838)
Some checks are pending
CI / Check for spelling errors (push) Waiting to run
CI / Go Linter (push) Waiting to run
CI / Test (push) Waiting to run
2025-02-14 19:01:48 +09:00
Yota Hamada
bbff142e1d
[#831] cmd: fix: --config parameter handling (#834) 2025-02-13 18:37:53 +09:00
Yota Hamada
33c93f4ef8
[#827] executor/docker: Fix: command arguments are not evaluated (#832) 2025-02-12 23:23:18 +09:00
Yota Hamada
93ad72f94b
tests: Add integration tests (#813)
Some checks are pending
CI / Check for spelling errors (push) Waiting to run
CI / Go Linter (push) Waiting to run
CI / Test (push) Waiting to run
2025-02-09 23:28:07 +09:00
Yota Hamada
39f0ce8fd2
[#799] scheduler: fix: skipIfSuccessful skips too much (#811)
Some checks failed
CI / Check for spelling errors (push) Has been cancelled
CI / Go Linter (push) Has been cancelled
CI / Test (push) Has been cancelled
2025-02-07 01:41:41 +09:00
Yota Hamada
5c6abd486e
digraph: fix issues in command and args handling (#780) 2025-01-09 17:25:05 +09:00
Yota Hamada
1ce8148c5f
digraph: Support JSON reference expansion (#778) 2025-01-09 00:04:21 +09:00
Yota Hamada
41855275b7
ui: fix #684 : allow edit for a DAG with . in the name (#767)
Some checks are pending
CI / Check for spelling errors (push) Waiting to run
CI / Go Linter (push) Waiting to run
CI / Test (push) Waiting to run
2025-01-03 10:01:27 +09:00
Yota Hamada
f517ce2083
[#763] Add support for dotenv (#766)
Some checks are pending
CI / Check for spelling errors (push) Waiting to run
CI / Go Linter (push) Waiting to run
CI / Test (push) Waiting to run
2025-01-02 20:44:38 +09:00
Kriyanshi Shah
b9c5682c4c
Improved parameter handling as mentioned in #737 (#765)
Some checks are pending
CI / Check for spelling errors (push) Waiting to run
CI / Go Linter (push) Waiting to run
CI / Test (push) Waiting to run
2025-01-02 14:48:36 +09:00
Yota Hamada
5646c48104
persistence: chore: cleanup (#761)
Some checks are pending
CI / Check for spelling errors (push) Waiting to run
CI / Go Linter (push) Waiting to run
CI / Test (push) Waiting to run
2024-12-31 16:21:16 +09:00
Yota Hamada
ff64bef02c
persistence: refactor: Avoid persisting unnecessary data of DAG steps (#750)
Some checks are pending
CI / Check for spelling errors (push) Waiting to run
CI / Go Linter (push) Waiting to run
CI / Test (push) Waiting to run
2024-12-27 12:59:28 +09:00
Yota Hamada
bb2c8ac777
executor: Enable command substitution and environment variables for ssh and subworkflow executor config (#748)
Some checks are pending
CI / Check for spelling errors (push) Waiting to run
CI / Go Linter (push) Waiting to run
CI / Test (push) Waiting to run
2024-12-26 22:43:23 +09:00
Yota Hamada
3093ae20ae
builder: Enable Command Substitution for Email / SMTP Configuration (#746) 2024-12-25 17:22:10 +09:00
Yota Hamada
ec09081377
Make sub-workflow output accessible as JSON from the parent DAG (#743) 2024-12-23 10:47:13 +09:00
Yota Hamada
a7bfb47543
Optimize data handling for output variables reducing JSON data size (#742)
Some checks are pending
CI / Check for spelling errors (push) Waiting to run
CI / Go Linter (push) Waiting to run
CI / Test (push) Waiting to run
2024-12-22 18:15:50 +09:00
Yota Hamada
6b1b10f108
Cleanup cmd and config package (#741)
Some checks are pending
CI / Check for spelling errors (push) Waiting to run
CI / Go Linter (push) Waiting to run
CI / Test (push) Waiting to run
2024-12-21 19:46:19 +09:00
Yota Hamada
029bd2d50c
Miscellaneous cleanup (#740)
Some checks failed
CI / Check for spelling errors (push) Has been cancelled
CI / Go Linter (push) Has been cancelled
CI / Test (push) Has been cancelled
2024-12-20 11:10:25 +09:00
Yota Hamada
3c4f6365b7
Fix build issue (#672) 2024-08-28 19:31:36 +09:00
Yota Hamada
765fa19ff9
Additional tests (#663) 2024-08-14 13:49:44 +09:00
Yota Hamada
424cd858a0
Improve the test coverage (#649) 2024-08-07 00:47:06 +09:00
Yota Hamada
5ac8c51029
Organize config pkg (#647) 2024-08-04 16:03:19 +09:00
Yota Hamada
9666c331d2
Add license headers (#646) 2024-08-04 00:04:29 +09:00
Yota Hamada
a8cb6190c3
[#635] fix: Parameter does not work (#641) 2024-08-03 08:54:04 +09:00
Yota Hamada
a20bd1daeb
Rename org dagu-dev to daguflow (#632) 2024-07-25 02:13:39 +09:00
Yota Hamada
8caf750a55
Structured logging (#623) 2024-07-20 03:34:59 +09:00
Yota Hamada
38695a2f86
Compliance with XDG (#619) 2024-07-19 00:40:36 +09:00
Yota Hamada
e78459b13d
Reorganize type declaration (#605)
* Reorganize type declaration

* Refactoring old code

* Rename types

* Fix tests

* Move files

* Rename unexported fields

* Refactoring dependencies

* Refactoring dependencies

* Refactor tests

* Refactoring dag package

* Simplify type naming

* Refactor mailer package

* Split file

* Rename package

* Refactor frontend server

* Refactor frontend server

* Fix frontend bug

* Update document

* Refactor frontend code

* Refactor frontend code

* Refactor frontend code

* Rename target name

* Update makefile

* Update contribution guide

* Move frontend package

* Move scheduler package

* Move scheduler service package

* Update make run command

* Move entry-reader pckage

* Refactor scheduler package

* Refactor scheduler package

* Refactor scheduler package

* Refactor scheduler package

* Update scheduler tests

* Update scheduler tests

* Remove unused function

* Update Makefile

* Update Makefile

* Move dag status type declaration

* Refactor dependency to config

* Refactor agent contstructor

* Refactor

* move grep package

* Rename package for tools.go

* Fix OpenAPI spec lint errors

* Refactor tests

* Fix lint error

* Move variable location
2024-07-06 16:54:31 +09:00
Yota Hamada
db06b99a6b
Setup Go Linter (#590)
* fix not to use pointer when unnecessary

* fix not to use pointer when unnecessary

* unuse unnecessary library functions

* move generated files into gen/ directory

* add comments

* rename methods

* refactor config

* refactor

* Move service/ to internal/

* fix ci files

* Add tool dependencies

* Update Makefile

* Update golanci-lint config

* Fix lint errors

* Refactor util.ParseCommand function

* refactor filecache.go

* Use any instead of interface{}

* Fix lint errors

* Add golines to tools.go

* Format go files to limit line length

* Fix lint errors

* refactor

* Fix lint errors

* fix race

* Make the tests run parallel

* Fix log message

* Fix data race

* Update vscode settings

* Add gotestsum to tools

* Add build/ to gitignore

* Adjust build command

* Fix lint errors

* fix .golangci.yml

* Adjust cmd tests

* Fix lint errors

* Use gotestsum for github action

* Fix code spell error

* Fix github test workflow

* Fix a bug in github action

* Update vscode settings

* Update github workflow

* Fix github workflow

* Update gotestsum format with standard-quiet

* Update github action

* Update github action

* Update github action
2024-06-19 09:08:54 +09:00
Yota Hamada
6fd1166d3d
Code cleanup and documentation for cmd and internal/agent package (#588)
* Add launch.json

* Fix loader to set default DAG name

* Add json schema comments

* fix default configuration issue

* Add json struct tag

* refactor agent

* refactor util

* refactoring

* refactoring

* refactoring

* refactoring

* refactoring

* improve code readability

* Refactor the unit tests

* Make the variable name descriptive

* fix typo

* Improve comments on agent.go

* refactor agent package

* fix bug

* add comments

* Update vscode settings

* add comments

* fix typo in comments
2024-06-15 16:58:06 +09:00
Yota Hamada
6b68bb3079
Refactor dag package for readability (#587)
* rename package

* move SyncMap type definition

* remove unused code

* simplify DAG loader

* simplify schedule parsing code

* simplify builder code

* simplify the builder code

* simplify builder code

* simplify builder code

* simplify loader

* add comments

* add comments

* refactor util package

* simplify step builder

* fix github workflow

* format code

* format code

* fix typo
2024-06-10 01:47:26 +09:00
Yota Hamada
be528cd98c
Add run and params field (#573)
* rename config variable command -> executable

* Add sub workflow feature

* Update API for adding 'run' and 'params'
2024-05-26 01:37:39 +09:00
Yota Hamada
53d9261240
Update Command Parsing Logic (#571)
* Refactor

* Fix command parser

* udpate docs

* add test

* Update the doc
2024-05-25 21:20:17 +09:00
Yota Hamada
d0938f1198
Implement file cache (#564)
* fix: minor goroutine leak

* fix: minor goroutine leak

* implement file cache for history data

* implement DAG file cache

* fix cache stale criteria

* update go version to 1.20

* chore: update go version for gh action
2024-05-11 21:59:58 +09:00
Yota Hamada
cc7f6a2a6a chore: simplify package 2024-05-09 19:25:13 +09:00
Kiyofumi Sano
37519eaf85
Fix linter errors (#556)
* lint: fix "File is not `goimports`-ed (goimports)"

* lint: FIx "unhandled-error: Unhandled error in call to function"

* lint: Fix "err113: do not define dynamic errors, use wrapped static errors instead: 'fmt.Errorf()'"

* lint: Fix "var-declaration: should drop = something from declaration of var something; it is the zero value (revive)"

* lint: Fix "import-shadowing: The name 'dag' shadows an import name"

* lint: Fix "use of `time.After` forbidden because \"time.After may leak resources. Use time.NewTimer instead.\"

* lint: Fix "deep-exit: calls to log.Fatal only in main() or init() functions (revive)"

* lint: Fix "function method-name has cyclomatic complexity 39 (> max enabled 25) (revive)

* lint: Fix "early-return: if c { ... } else { ... return } can be simplified to if !c { ... return } ... (move short variable declaration to its own line if necessary) (revive)"

* fix comment

* lint: Fix "err113: do not compare errors directly "err != sock.ErrServerRequestedShutdown", use "!errors.Is(err, sock.ErrServerRequestedShutdown)" instead (goerr113)"

* lint: Fix "early-return: if c { ... } else { ... return } can be simplified to if !c { ... return } ... (revive)"

* lint: Fix "missing cases in switch of type scheduler.NodeStatus (exhaustive)"

* lint: Fix "time-equal: use !fi1.ModTime().Equal(fi2.ModTime()) instead of "!=" operator (revive)"
2024-04-17 00:10:19 +09:00