Skip to content

Commit

Permalink
Merge pull request #2 from FlutterGen/feat-setup-action
Browse files Browse the repository at this point in the history
feat: setup action
  • Loading branch information
ronnnnn authored Aug 26, 2024
2 parents 7556467 + 7304a10 commit 0ed898a
Show file tree
Hide file tree
Showing 23 changed files with 64,861 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @ronnnnn
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
22 changes: 22 additions & 0 deletions .github/workflows/lint-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Lint PR Title

on:
pull_request_target:
types:
- opened
- edited
- synchronize
- reopened

permissions:
pull-requests: read

jobs:
lint-pr:
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5.5.3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
validateSingleCommit: true
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
18 changes: 18 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Release

on:
push:
branches:
- main

permissions:
contents: write
pull-requests: write

jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: GoogleCloudPlatform/release-please-action@v4
with:
release-type: node
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
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# misc
.DS_Store

# ide
.idea/
.vscode/

# node
node_modules/
1 change: 1 addition & 0 deletions .node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
20.16.0
4 changes: 4 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.github/CODEOWNERS
dist/
node_modules/
bun.lockb
1 change: 1 addition & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bun 1.1.24
32 changes: 32 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Contributing

## Installation

Install the tools listed in the `.tool-version` and `.node-version` files. You can easily set up the environment using either asdf or mise.

### asdf or mise

To install the tools using asdf, run the following command:

```shell
# asdf
asdf i

# mise
mise i
```

## Development

Setup development environment with `bun`.

```shell
bun i
```

Scripts are defined in `package.json`.
You can check available scripts.

```shell
bun run
```
30 changes: 30 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<div align="center">

# setup-fluttergen

Install `fluttergen` command in GitHub Actions.

</div>

# Usage

```yaml
- uses: FluttterGen/setup-fluttergen@v1
with:
version: 5.6.0
```
# Inputs
| Name | Description | Required | Default |
| ---------- | -------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------- |
| version | FlutterGen version (optional, will be detected from project root .tool-versions or .mise.toml if not provided) | false | - |
| cache | Cache FlutterGen CLI | false | true |
| cache-key | Cache key for FlutterGen CLI | false | `fluttergen-${{ runner.os }}-${{ runner.arch }}-${{ version }}` |
| cache-path | Cache path for FlutterGen CLI | false | `${{ runner.tool_cache }}/.fluttergen` |

# Outputs

| Name | Description |
| ------- | ---------------------------- |
| version | Installed FlutterGen version |
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 added bun.lockb
Binary file not shown.
Loading

0 comments on commit 0ed898a

Please sign in to comment.