Skip to content

Commit

Permalink
feat: setup FlutterGen action
Browse files Browse the repository at this point in the history
  • Loading branch information
ronnnnn committed Aug 25, 2024
1 parent d1574be commit f14222a
Show file tree
Hide file tree
Showing 12 changed files with 64,672 additions and 9 deletions.
12 changes: 12 additions & 0 deletions .github/actions/setup-bun/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Setup Bun
description: Setup Bun

runs:
using: 'composite'
steps:
- name: Setup Bun
uses: oven-sh/setup-bun@4bc047ad259df6fc24a6c9b0f9a0cb08cf17fbe5 # v2.0.1

- name: Bun Install
shell: bash
run: bun i --frozen-lockfile
24 changes: 24 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Build

on:
pull_request:
types:
- opened
- synchronize

push:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Bun
uses: ./.github/actions/setup-bun

- name: Build
run: bun bake
23 changes: 23 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Lint

on:
pull_request:
types:
- opened
- synchronize

jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Bun
uses: ./.github/actions/setup-bun

- name: Check Format
run: bun fmt:check

- name: Lint
run: bun lint
97 changes: 97 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: Test

on:
pull_request:
types:
- opened
- synchronize

push:
branches:
- main

jobs:
test:
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
runs-on: ${{ matrix.os }}
continue-on-error: true
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup FlutterGen (Cache save)
id: setup-fluttergen-cache-save
uses: ./
with:
version: 5.6.0
cache-key: fluttergen-${{ runner.os }}-${{ runner.arch }}-${{ github.sha }}

- name: Setup FlutterGen (Cache restore)
id: setup-fluttergen-cache-restore
uses: ./
with:
version: 5.6.0
cache-key: fluttergen-${{ runner.os }}-${{ runner.arch }}-${{ github.sha }}

- name: Setup FlutterGen (No cache restore and save)
id: setup-fluttergen-no-cache
uses: ./
with:
version: 5.6.0
cache: false

- name: Check output version
run: |
if [ "${{ steps.setup-fluttergen-no-cache.outputs.version }}" != "5.6.0" ]; then
echo "Version mismatch"
exit 1
fi
test-with-version-file:
strategy:
matrix:
file:
- name: .tool-versions (fluttergen 5.6.0)
file: .tool-versions
run: echo "fluttergen 5.6.0" > .tool-versions
- name: .tool-versions (fluttergen5.6.0)
file: .tool-versions
run: echo "fluttergen5.6.0" > .tool-versions
- name: .tool-versions (fluttergen 5.6.0)
file: .tool-versions
run: echo "fluttergen 5.6.0" > .tool-versions
- name: .mise.toml (fluttergen = '5.6.0')
file: .mise.toml
run: echo "[tools]\nfluttergen = '5.6.0'" > .mise.toml
- name: .mise.toml (fluttergen='5.6.0')
file: .mise.toml
run: echo "[tools]\nfluttergen='5.6.0'" > .mise.toml
- name: .mise.toml (fluttergen = '5.6.0')
file: .mise.toml
run: echo "[tools]\nfluttergen = '5.6.0'" > .mise.toml
- name: .mise.toml (fluttergen = "5.6.0")
file: .mise.toml
run: echo "[tools]\nfluttergen = \"5.6.0\"" > .mise.toml
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Prepare version file
run: ${{ matrix.file.run }}

- name: Setup FlutterGen
id: setup-fluttergen
uses: ./

- name: Check output version
run: |
if [ "${{ steps.setup-fluttergen.outputs.version }}" != "5.6.0" ]; then
echo "Version mismatch"
exit 1
fi
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
dist/
node_modules/
bun.lockb
26 changes: 26 additions & 0 deletions action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: 'Setup FlutterGen'
author: 'FlutterGen'
description: 'Set up FlutterGen CLI in your GitHub Actions workflow'
inputs:
version:
description: 'FlutterGen version (optional, will be detected from project root .tool-versions or .mise.toml if not provided)'
required: false
cache:
description: 'Cache FlutterGen CLI (default: true)'
required: false
default: 'true'
cache-key:
description: 'Cache key for FlutterGen CLI'
required: false
cache-path:
description: 'Cache path for FlutterGen CLI'
required: false
outputs:
version:
description: 'Installed FlutterGen version'
runs:
using: 'node20'
main: 'dist/index.js'
branding:
icon: 'package'
color: 'blue'
Binary file modified bun.lockb
Binary file not shown.
Loading

0 comments on commit f14222a

Please sign in to comment.