dugajean / goke Goto Github PK
View Code? Open in Web Editor NEWGo + Make = Goke
License: GNU General Public License v3.0
Go + Make = Goke
License: GNU General Public License v3.0
Task declarations should accept an env
key as well, that essentially allows the user to set up environment variables for a specific task. This variable would override any global ones for this specific task.
When using an env var from global.env
and {task}.env
in task, they should be substituted with the respective value. Currently it results in an empty string.
For example:
greet-cats:
run:
- 'echo "Hello ${CAT}"'
env:
CAT: "Kitty"
Outputs Hello
. Same goes for this:
global:
env:
CAT: "Kitty"
greet-cats:
run:
- 'echo "Hello ${CAT}"'
Expected behaviour:
The output should be Hello Kitty
.
The --init
flag would create a goke.yml
file if it doesn't exist (in the current dir), with a few sample tasks in it.
Refactor parser.go, change Parser struct to interface and create mocks using mockery for better unit tests.
Refactor unit tests and add rest of the tests.
Currently, the watcher is an infinite loop with a 1 second sleep. It works efficiently, but it could be a performance bottleneck. Check out this repo and see if/how we can adopt it:
Currently if you want to reference the files:
section within a task, you'd use $(files)
. Rename this placeholder with {FILES}
instead.
The dollar sign calls are reserved for shell commands.
Other valid file names could be:
Longer file names would be prioritized when loading them file name.
panic: runtime error: index out of range [1] with length 1
goroutine 1 [running]: main.parseTaskName(...) github.com/dugajean/goke/cmd/cli/main.go:32 main.main() github.com/dugajean/goke/cmd/cli/main.go:25 +0x472
Goke isn't currently very Windows friendly, even though we create a Windows binary. The aim of this issue is to improve the experience of Goke for Windows users.
To do so, this issue suggests the following:
push_pull.yml
GitHub Action.Release Goke to .deb, .rpm and .apk package managers.
References -
https://goreleaser.com/customization/nfpm/
https://goreleaser.com/customization/snapcraft/
https://fury.io
Write more unit tests for the Executor struct, Parser and Lockfile. Mocks for common file operations are already present under internal/tests/stdlib_wrapper_mock.go
.
goke -t
returns a list of all available tasks. But it shouldn't list global
.
The global
occurrence should be stripped at the parser level, not at the -t
flag level.
This flag essentially disables all output.
This particular line here: https://github.com/dugajean/goke/blob/dev/internal/parser.go#L114
Has two instances within the same file. it would be better if this variable was stored in the global scope of the package, so that I can be used by functions that need it.
Sample command:
greet-cats:
run:
- 'echo "Hello Frey"'
- 'echo "Hello Bunny"'
If the command is called as follows
goke greet-cats --force -- foo -bar
The last part (foo -bar
), should be passed down to the two echoes within the task, like so
echo "Hello Frey" foo -bar
echo "Hello Bunny" foo -bar
Currently the user is unable to pass arguments down to the commands. This would be useful for single commands that may need variable information passed to them.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.