Skip to content

Commit 056a07e

Browse files
committed
update actions
1 parent 7e44e22 commit 056a07e

File tree

17 files changed

+755
-465
lines changed

17 files changed

+755
-465
lines changed

.execs/build.flow

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# yaml-language-server: $schema=https://flowexec.io/schemas/flowfile_schema.json
2+
visibility: private
3+
tags: [development]
4+
executables:
5+
- verb: generate
6+
description: Generate code and documentation for the project.
7+
serial:
8+
failFast: false
9+
execs:
10+
- ref: generate code
11+
- ref: generate docs
12+
- ref: generate frontend
13+
- ref: generate backend
14+
15+
- verb: build
16+
name: binary
17+
aliases: [bin, flow]
18+
description: Build the flow binary.
19+
exec:
20+
dir: //
21+
args:
22+
- envKey: BIN_PATH
23+
default: .bin
24+
pos: 1
25+
required: false
26+
params:
27+
- envKey: BIN_NAME
28+
text: flow
29+
cmd: |
30+
go build -o ${BIN_PATH}/${BIN_NAME}
31+
echo "flow built at ${BIN_PATH}/${BIN_NAME}"
32+
33+
- verb: generate
34+
name: docs
35+
aliases: [documentation]
36+
serial:
37+
dir: //
38+
execs:
39+
- cmd: ./scripts/completions.sh
40+
- cmd: go run ./tools/docsgen/.
41+
42+
- verb: generate
43+
name: code
44+
serial:
45+
dir: //
46+
execs:
47+
- cmd: |
48+
echo "Generating go CLI code..."
49+
go generate ./...
50+
echo "All go code generated successfully"
51+
- ref: generate frontend
52+
- ref: generate backend
53+
54+
- verb: generate
55+
name: tauri
56+
description: Generate code for the Tauri frontend and backend.
57+
parallel:
58+
execs:
59+
- ref: generate frontend
60+
- ref: generate backend
61+
62+
- verb: generate
63+
name: frontend
64+
aliases: [ts]
65+
description: Generate TypeScript types for the Tauri's frontend.
66+
exec:
67+
dir: //desktop
68+
cmd: npm run generate-types
69+
70+
- verb: generate
71+
name: backend
72+
aliases: [rust]
73+
description: Generate code for the Tauri desktop app's backend.
74+
exec:
75+
dir: //desktop
76+
cmd: ./scripts/generate-rust-types.sh
77+
78+
- verb: update
79+
name: modules
80+
description: Update project dependencies
81+
tags: [go]
82+
aliases: [gomod, deps]
83+
exec:
84+
dir: //
85+
cmd: |
86+
echo "updating go modules..."
87+
go get -u ./...
88+
go mod tidy

.execs/container.flow

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# yaml-language-server: $schema=https://flowexec.io/schemas/flowfile_schema.json
2+
tags: [development, container]
3+
executables:
4+
- verb: build
5+
name: container
6+
description: Build the flow container image
7+
aliases: [docker, image]
8+
exec:
9+
dir: //
10+
args:
11+
- envKey: BUILDER
12+
default: docker
13+
flag: builder
14+
- envKey: IMAGE_REPO
15+
default: jahvon/flow
16+
flag: repo
17+
- envKey: IMAGE_TAG
18+
default: latest
19+
flag: tag
20+
cmd: |
21+
echo "building go binary..."
22+
GOOS=linux GOARCH=amd64 go build -o flow
23+
echo "building container image..."
24+
$BUILDER build -t $IMAGE_REPO:$IMAGE_TAG .
25+
26+
- verb: run
27+
name: container
28+
description: Run the flow container image
29+
aliases: [image, docker]
30+
exec:
31+
dir: //
32+
logMode: text
33+
args:
34+
- envKey: BUILDER
35+
default: docker
36+
flag: builder
37+
- envKey: IMAGE_REPO
38+
default: jahvon/flow
39+
flag: repo
40+
- envKey: IMAGE_TAG
41+
default: latest
42+
flag: tag
43+
- envKey: WORKSPACE
44+
default: active
45+
flag: workspace
46+
- envKey: GIT_REPO
47+
default: https://github.com/jahvon/flow.git
48+
flag: repo
49+
- envKey: BRANCH
50+
default: main
51+
flag: branch
52+
- envKey: CONTAINER_CMD
53+
default: "get workspace"
54+
flag: cmd
55+
cmd: |
56+
echo "running container image..."
57+
$BUILDER run -it -e GIT_REPO=$GIT_REPO \
58+
-e BRANCH=$BRANCH \
59+
-e WORKSPACE=$WORKSPACE \
60+
-t $IMAGE_REPO:$IMAGE_TAG \
61+
$CONTAINER_CMD
62+
63+
- verb: push
64+
name: container
65+
description: Push the flow container image to the registry
66+
aliases: [image, docker]
67+
exec:
68+
dir: //
69+
args:
70+
- envKey: BUILDER
71+
default: docker
72+
flag: builder
73+
- envKey: IMAGE_REPO
74+
default: jahvon/flow
75+
flag: repo
76+
- envKey: IMAGE_TAG
77+
default: latest
78+
flag: tag
79+
cmd: |
80+
echo "pushing container image..."
81+
$BUILDER push $IMAGE_REPO:$IMAGE_TAG

.execs/docs.flow

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# yaml-language-server: $schema=https://flowexec.io/schemas/flowfile_schema.json
2+
visibility: public
3+
tags: [docs]
4+
executables:
5+
- verb: show
6+
name: flowfile
7+
aliases: [executables, exec, executable]
8+
description: Render the FlowFile reference documentation
9+
render:
10+
dir: //docs/types
11+
templateFile: flowfile.md
12+
13+
- verb: show
14+
name: ws
15+
aliases: [workspace]
16+
description: Render the Flow Workspace reference documentation
17+
render:
18+
dir: //docs/types
19+
templateFile: workspace.md
20+
21+
- verb: show
22+
name: cfg
23+
aliases: [config]
24+
description: Render the flow user configuration reference documentation
25+
render:
26+
dir: //docs/types
27+
templateFile: config.md

.execs/helpers.flow

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# yaml-language-server: $schema=https://flowexec.io/schemas/flowfile_schema.json
2+
tags: [development, helper]
3+
executables:
4+
- verb: clean
5+
name: coverage
6+
aliases: [codecov]
7+
tags: [coverage, ci]
8+
description: Clean up coverage files
9+
exec:
10+
dir: //
11+
cmd: |
12+
echo "Cleaning coverage files..."
13+
rm -f *.out *.coverage
14+
echo "Coverage files cleaned"
15+
16+
- verb: show
17+
name: summary
18+
tags: [ci, report]
19+
description: Generate CI summary report
20+
exec:
21+
dir: //
22+
cmd: |
23+
echo "=== CI Summary ==="
24+
echo "Build: ✅"
25+
echo "Tests: $([ -f "unit-coverage.out" ] && echo "✅" || echo "❌")"
26+
echo "Coverage: $([ -f "merged-coverage.out" ] && echo "✅" || echo "❌")"
27+
echo "GoSec Security: $([ -f "results.sarif" ] && echo "✅" || echo "❌")"
28+
echo "Govulncheck: $([ -f "results_vuln.sarif" ] && echo "✅" || echo "❌")"
29+
echo "=================="

.execs/release.flow

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# yaml-language-server: $schema=https://flowexec.io/schemas/flowfile_schema.json
2+
tags: [development, test]
3+
executables:
4+
- verb: create
5+
name: snapshot
6+
description: Create a snapshot release
7+
aliases: [release, snap]
8+
exec:
9+
dir: //
10+
cmd: |
11+
if ! command -v goreleaser &> /dev/null; then
12+
echo "goreleaser is not installed. Please install it first."
13+
exit 1
14+
fi
15+
16+
echo "creating snapshot release..."
17+
goreleaser release --snapshot --clean

.execs/setup.flow

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# yaml-language-server: $schema=https://flowexec.io/schemas/flowfile_schema.json
2+
tags: [development, setup]
3+
executables:
4+
- verb: setup
5+
name: dev
6+
description: Setup development environment
7+
serial:
8+
execs:
9+
- ref: install tools
10+
- ref: generate
11+
- cmd: echo "✅ flow development environment ready"
12+
13+
- verb: install
14+
name: gopath
15+
aliases: [local, cli]
16+
description: Install the Go CLI to the GOPATH from local source
17+
exec:
18+
dir: //
19+
cmd: go install ./...
20+
21+
- verb: install
22+
name: npm
23+
aliases: [node, modules]
24+
tags: [npm, desktop]
25+
exec:
26+
dir: //desktop
27+
cmd: npm install
28+
29+
- verb: start
30+
name: site
31+
aliases: [docs]
32+
description: Run the documentation site locally
33+
exec:
34+
dir: //
35+
cmd: docsify serve docs --open
36+
37+
- verb: start
38+
name: recording
39+
aliases: [vhs]
40+
description: Record a demo of the Flow CLI and save it
41+
tags: [vhs]
42+
exec:
43+
params:
44+
- envKey: OUTPUT
45+
text: docs/_media/demo.gif
46+
dir: //
47+
cmd: vhs -o $OUTPUT docs/demo.tape
48+
49+
- verb: start
50+
name: tauri
51+
aliases: [desktop]
52+
tags: [desktop]
53+
description: Start the Tauri desktop app in development mode.
54+
timeout: "24h"
55+
exec:
56+
dir: //desktop
57+
cmd: npm run tauri dev
58+
59+
- verb: start
60+
name: storybook
61+
tags: [desktop]
62+
description: Start the Tauri desktop app's Storybook server.
63+
timeout: "24h"
64+
exec:
65+
dir: //desktop
66+
cmd: npm run storybook

0 commit comments

Comments
 (0)