Skip to content

Commit 0819f0e

Browse files
committed
feat: setup FlutterGen action
1 parent d1574be commit 0819f0e

File tree

12 files changed

+64675
-9
lines changed

12 files changed

+64675
-9
lines changed

.github/actions/setup-bun/action.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: Setup Bun
2+
description: Setup Bun
3+
4+
runs:
5+
using: 'composite'
6+
steps:
7+
- name: Setup Bun
8+
uses: oven-sh/setup-bun@4bc047ad259df6fc24a6c9b0f9a0cb08cf17fbe5 # v2.0.1
9+
10+
- name: Bun Install
11+
shell: bash
12+
run: bun i --frozen-lockfile

.github/workflows/build.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Build
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- synchronize
8+
9+
push:
10+
branches:
11+
- main
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v4
19+
20+
- name: Setup Bun
21+
uses: ./.github/actions/setup-bun
22+
23+
- name: Build
24+
run: bun bake

.github/workflows/lint.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Lint
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- synchronize
8+
9+
jobs:
10+
lint:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
16+
- name: Setup Bun
17+
uses: ./.github/actions/setup-bun
18+
19+
- name: Check Format
20+
run: bun fmt:check
21+
22+
- name: Lint
23+
run: bun lint

.github/workflows/test.yml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: Test
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- synchronize
8+
9+
push:
10+
branches:
11+
- main
12+
13+
jobs:
14+
test:
15+
strategy:
16+
matrix:
17+
os:
18+
- ubuntu-latest
19+
- macos-latest
20+
- macos-13
21+
runs-on: ${{ matrix.os }}
22+
steps:
23+
- name: Checkout
24+
uses: actions/checkout@v4
25+
26+
- name: Setup FlutterGen (Cache save)
27+
uses: ./
28+
with:
29+
version: 5.6.0
30+
cache-key: fluttergen-${{ runner.os }}-${{ github.sha }}
31+
32+
- name: Run FlutterGen
33+
run: fluttergen -v
34+
35+
- name: Setup FlutterGen (Cache restore)
36+
uses: ./
37+
with:
38+
version: 5.6.0
39+
cache-key: fluttergen-${{ runner.os }}-${{ github.sha }}
40+
41+
- name: Run FlutterGen
42+
run: fluttergen -v
43+
44+
- name: Setup FlutterGen (No cache restore and save)
45+
uses: ./
46+
with:
47+
version: 5.6.0
48+
cache: false
49+
50+
- name: Run FlutterGen
51+
run: fluttergen -v
52+
53+
test-with-version-file:
54+
strategy:
55+
matrix:
56+
file:
57+
- name: .tool-versions (fluttergen 5.6.0)
58+
file: .tool-versions
59+
run: echo "fluttergen 5.6.0" > .tool-versions
60+
- name: .tool-versions (fluttergen5.6.0)
61+
file: .tool-versions
62+
run: echo "fluttergen5.6.0" > .tool-versions
63+
- name: .tool-versions (fluttergen 5.6.0)
64+
file: .tool-versions
65+
run: echo "fluttergen 5.6.0" > .tool-versions
66+
- name: .mise.toml (fluttergen = '5.6.0')
67+
file: .mise.toml
68+
run: echo "[tools]\nfluttergen = '5.6.0'" > .mise.toml
69+
- name: .mise.toml (fluttergen='5.6.0')
70+
file: .mise.toml
71+
run: echo "[tools]\nfluttergen='5.6.0'" > .mise.toml
72+
- name: .mise.toml (fluttergen = '5.6.0')
73+
file: .mise.toml
74+
run: echo "[tools]\nfluttergen = '5.6.0'" > .mise.toml
75+
- name: .mise.toml (fluttergen = "5.6.0")
76+
file: .mise.toml
77+
run: echo "[tools]\nfluttergen = \"5.6.0\"" > .mise.toml
78+
runs-on: ubuntu-latest
79+
steps:
80+
- name: Checkout
81+
uses: actions/checkout@v4
82+
83+
- name: Prepare version file
84+
run: ${{ matrix.file.run }}
85+
86+
- name: Setup FlutterGen
87+
id: setup-fluttergen
88+
uses: ./
89+
90+
- name: Check output version
91+
run: |
92+
if [ "${{ steps.setup-fluttergen.outputs.version }}" != "5.6.0" ]; then
93+
echo "Version mismatch"
94+
exit 1
95+
fi

.prettierignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dist/
2+
node_modules/
3+
bun.lockb

action.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: 'Setup FlutterGen'
2+
author: 'FlutterGen'
3+
description: 'Set up FlutterGen CLI in your GitHub Actions workflow'
4+
inputs:
5+
version:
6+
description: 'FlutterGen version (optional, will be detected from project root .tool-versions or .mise.toml if not provided)'
7+
required: false
8+
cache:
9+
description: 'Cache FlutterGen CLI (default: true)'
10+
required: false
11+
default: 'true'
12+
cache-key:
13+
description: 'Cache key for FlutterGen CLI'
14+
required: false
15+
outputs:
16+
version:
17+
description: 'Installed FlutterGen version'
18+
runs:
19+
using: 'node20'
20+
main: 'dist/index.js'
21+
branding:
22+
icon: 'package'
23+
color: 'blue'

bun.lockb

131 KB
Binary file not shown.

0 commit comments

Comments
 (0)