Skip to content

Commit

Permalink
chore: bring over PSDTools/app
Browse files Browse the repository at this point in the history
I had a lot of custom files, this merges them in.
I also made a logo, and set up a splash screen.
  • Loading branch information
lishaduck committed Apr 26, 2024
1 parent 48ca45d commit f95c5c0
Show file tree
Hide file tree
Showing 119 changed files with 2,867 additions and 292 deletions.
13 changes: 13 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Each line is a file pattern followed by one or more owners.

# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# the global owners will be requested for
# review when someone opens a pull request.
* @lishaduck @MattsAttack

*.dart @lishaduck @MattsAttack
/.github/ @lishaduck
/assets/ @MattsAttack
/tests/ @lishaduck @MattsAttack
pubspec.* @lishaduck
41 changes: 41 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "github-actions" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
assignees:
- "lishaduck"
groups:
github:
patterns:
- "actions/*"

- package-ecosystem: "pub" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
assignees:
- "lishaduck"
groups:
riverpod:
patterns:
- "*riverpod*"
go_router:
patterns:
- "go_router*"
freezed:
patterns:
- "freezed*"
- "json_*"
build:
patterns:
- "build*"
envied:
patterns:
- "envied*"
335 changes: 335 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,335 @@
---
name: CI/CD

on:
push:
branches:
- main
pull_request:
types:
- opened
- synchronize
merge_group:
schedule:
- cron: "0 14 * * 1" # every monday at 9 in the morning CST
workflow_dispatch:

env:
CI: true

permissions:
contents: read

jobs:
setup:
name: Setup
needs: []
timeout-minutes: 5
runs-on: ubuntu-latest

strategy:
fail-fast: false

steps:
- name: πŸ“š Git checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
submodules: recursive
clean: true
persist-credentials: false
set-safe-directory: true
- name: 🐦 Set up Flutter
id: flutter
uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1 # v2.16.0
with:
flutter-version-file: pubspec.yaml
cache: true
- name: 🌐 Disable analytics
run: flutter --disable-analytics
- name: πŸ“¦ Install dependencies
run: flutter pub get
- name: βš™οΈ Cache generated files
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: |
.dart_tool/
lib/gen/*.gen.dart
lib/features/**/*.g.dart
lib/features/**/*.freezed.dart
lib/utils/*.g.dart
lib/utils/*.freezed.dart
lib/app/*.gr.dart
lib/app/*.gm.dart
lib/l10n/app_localizations.dart
lib/l10n/app_localizations_*.dart
key: ${{ runner.os }}-${{ steps.flutter.outputs.CHANNEL }}-dart-${{ hashFiles('**/build.yaml') }}
- name: πŸ”Œ Generate files
run: |
flutter gen-l10n
dart run build_runner build -d
build:
name: Build
needs: ["setup"]
timeout-minutes: ${{ (matrix.target == 'web') && 5 || 10 }}
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
target:
- web
- appbundle
# - ios
# - macos
# - windows
include:
- target: web
os: ubuntu-latest
flutter-flags: --release
- target: appbundle
os: ubuntu-latest
flutter-flags: --debug --no-tree-shake-icons --no-shrink
# - target: ios
# os: macos-latest
# flutter-flags: --debug --no-tree-shake-icons
# - target: macos
# os: macos-latest
# flutter-flags: --debug --no-tree-shake-icons
# - target: windows
# os: windows-latest
# flutter-flags: --debug --no-tree-shake-icons

steps:
- name: πŸ“š Git checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
submodules: recursive
clean: true
persist-credentials: false
set-safe-directory: true
- name: 🐦 Set up Flutter
id: flutter
uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1 # v2.16.0
with:
flutter-version-file: pubspec.yaml
cache: true
- name: 🌐 Disable analytics
run: flutter --disable-analytics
- name: πŸ“¦ Install dependencies
run: flutter pub get
- name: βš™οΈ Cache generated files
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: |
.dart_tool/
lib/gen/*.gen.dart
lib/features/**/*.g.dart
lib/features/**/*.freezed.dart
lib/utils/*.g.dart
lib/utils/*.freezed.dart
lib/app/*.gr.dart
lib/app/*.gm.dart
lib/l10n/app_localizations.dart
lib/l10n/app_localizations_*.dart
key: ${{ runner.os }}-${{ steps.flutter.outputs.CHANNEL }}-dart-${{ hashFiles('**/build.yaml') }}
- name: πŸ”Œ Generate files
run: |
flutter gen-l10n
dart run build_runner build -d
- name: πŸ”§ Build
run: |
flutter build ${{ matrix.target }} ${{ matrix.flutter-flags }}
# - name: βš™οΈ Upload build
# if: matrix.target == 'web'
# uses: actions/upload-artifact@694cdabd8bdb0f10b2cea11669e1bf5453eed0a6 # v4.2.0
# with:
# name: build-directory-${{ matrix.target }}-${{ steps.flutter.outputs.CHANNEL }}
# path: ./build
# if-no-files-found: error

lint:
name: Linting
needs: ["setup"]
timeout-minutes: 5
runs-on: ubuntu-latest

steps:
- name: πŸ“š Git checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
submodules: recursive
clean: true
persist-credentials: false
set-safe-directory: true
- name: 🐦 Set up Flutter
id: flutter
uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1 # v2.16.0
with:
flutter-version-file: pubspec.yaml
cache: true
- name: 🌐 Disable analytics
run: flutter --disable-analytics
- name: πŸ“¦ Install dependencies
run: flutter pub get
- name: βš™οΈ Cache generated files
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: |
.dart_tool/
lib/gen/*.gen.dart
lib/features/**/*.g.dart
lib/features/**/*.freezed.dart
lib/utils/*.g.dart
lib/utils/*.freezed.dart
lib/app/*.gr.dart
lib/app/*.gm.dart
lib/l10n/app_localizations.dart
lib/l10n/app_localizations_*.dart
key: ${{ runner.os }}-${{ steps.flutter.outputs.CHANNEL }}-dart-${{ hashFiles('**/build.yaml') }}
- name: πŸ”Œ Generate files
run: |
flutter gen-l10n
dart run build_runner build -d
- name: πŸ•΅οΈ Analyze project source
run: flutter analyze --fatal-infos
- name: πŸ•΅οΈ Run Custom Lint Rules
run: dart run custom_lint --fatal-infos

test:
name: Testing
needs: ["setup"]
timeout-minutes: 7
runs-on: ubuntu-latest

steps:
- name: πŸ“š Git checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
submodules: recursive
clean: true
persist-credentials: false
set-safe-directory: true
- name: 🐦 Set up Flutter
id: flutter
uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1 # v2.16.0
with:
flutter-version-file: pubspec.yaml
cache: true
- name: 🌐 Disable analytics
run: flutter --disable-analytics
- name: πŸ“¦ Install dependencies
run: flutter pub get
- name: βš™οΈ Cache generated files
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: |
.dart_tool/
lib/gen/*.gen.dart
lib/features/**/*.g.dart
lib/features/**/*.freezed.dart
lib/utils/*.g.dart
lib/utils/*.freezed.dart
lib/app/*.gr.dart
lib/app/*.gm.dart
lib/l10n/app_localizations.dart
lib/l10n/app_localizations_*.dart
key: ${{ runner.os }}-${{ steps.flutter.outputs.CHANNEL }}-dart-${{ hashFiles('**/build.yaml') }}
- name: πŸ”Œ Generate files
run: |
flutter gen-l10n
dart run build_runner build -d
- name: πŸ§ͺ Run tests
run: dart run very_good_cli:very_good test --coverage --test-randomize-ordering-seed random
- name: πŸ“Š Check code coverage
uses: VeryGoodOpenSource/very_good_coverage@c953fca3e24a915e111cc6f55f03f756dcb3964c # v3.0.0
with:
path: coverage/lcov.info
min_coverage: 10 # 100

format:
name: Formatting
needs: ["setup"]
timeout-minutes: 3
runs-on: ubuntu-latest

steps:
- name: πŸ“š Git checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
submodules: recursive
clean: true
persist-credentials: false
set-safe-directory: true
- name: 🐦 Set up Flutter
id: flutter
uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1 # v2.16.0
with:
flutter-version-file: pubspec.yaml
cache: true
- name: 🌐 Disable analytics
run: flutter --disable-analytics
- name: ✨ Verify formatting
run: dart format --output=none --set-exit-if-changed .

spell-check:
name: Check Spelling
needs: []
runs-on: ubuntu-latest

steps:
- name: πŸ“š Git Checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
submodules: recursive
clean: true
persist-credentials: false
set-safe-directory: true

- name: πŸͺ„ Spell Check
uses: streetsidesoftware/cspell-action@807d7d92b7057593a2de102168506f298405339d # v6.2.0
with:
files: |
**/*.md
**/*.dart
**/*.yaml
**/*.toml
**/*.json
incremental_files_only: false

link-check:
name: Check Links
needs: []
timeout-minutes: 2
runs-on: ubuntu-latest

steps:
- name: πŸͺ„ Link check
uses: gaurav-nelson/github-action-markdown-link-check@d53a906aa6b22b8979d33bc86170567e619495ec # 1.0.15
with:
use-quiet-mode: "yes"
use-verbose-mode: "yes"
base-branch: "main"

markdownlint:
name: Lint Markdown
needs: []
timeout-minutes: 4
runs-on: ubuntu-latest

steps:
- name: πŸ“š Git Checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
submodules: recursive
clean: true
persist-credentials: false
set-safe-directory: true
- name: πŸ•΅οΈ Markdown linting
uses: DavidAnson/markdownlint-cli2-action@510b996878fc0d1a46c8a04ec86b06dbfba09de7 # v16.0.0
id: markdownlint
with:
fix: true
globs: |
**/*.md
continue-on-error: true
Loading

0 comments on commit f95c5c0

Please sign in to comment.