This repository has been archived by the owner on Jan 9, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit b8573d1
Showing
228 changed files
with
9,386 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | ||
* @PHS-TSA | ||
|
||
**.dart @PHS-TSA | ||
/.github/ @PHS-TSA | ||
/packages/*/assets/ @PHS-TSA | ||
tests/ @PHS-TSA | ||
pubspec.* @PHS-TSA |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# 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 | ||
directories: # Location of package manifests | ||
- "/" | ||
schedule: | ||
interval: "daily" | ||
assignees: | ||
- "PHS-TSA" | ||
groups: | ||
github: | ||
patterns: | ||
- "actions/*" | ||
|
||
- package-ecosystem: "pub" # See documentation for possible values | ||
directories: # Location of package manifests | ||
- "/packages/*" | ||
schedule: | ||
interval: "daily" | ||
assignees: | ||
- "PHS-TSA" | ||
groups: | ||
riverpod: | ||
patterns: | ||
- "*riverpod*" | ||
auto_route: | ||
patterns: | ||
- "auto_route*" | ||
freezed: | ||
patterns: | ||
- "freezed*" | ||
- "json_*" | ||
build: | ||
patterns: | ||
- "build*" | ||
envied: | ||
patterns: | ||
- "envied*" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,326 @@ | ||
--- | ||
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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
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: melos bootstrap | ||
- name: ⚙️ Cache generated files | ||
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | ||
with: | ||
path: | | ||
.dart_tool/ | ||
lib/gen/*.gen.dart | ||
lib/src/features/**/*.g.dart | ||
lib/src/features/**/*.freezed.dart | ||
lib/src/utils/*.g.dart | ||
lib/src/utils/*.freezed.dart | ||
lib/src/app/*.gr.dart | ||
lib/src/app/*.gm.dart | ||
lib/src/l10n/app_localizations.dart | ||
lib/src/l10n/app_localizations_*.dart | ||
key: ${{ runner.os }}-${{ steps.flutter.outputs.CHANNEL }}-dart-${{ hashFiles('**/build.yaml') }} | ||
- name: 🔌 Generate files | ||
run: melos run gen | ||
|
||
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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
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: melos bootstrap | ||
- name: ⚙️ Cache generated files | ||
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | ||
with: | ||
path: | | ||
.dart_tool/ | ||
lib/gen/*.gen.dart | ||
lib/src/features/**/*.g.dart | ||
lib/src/features/**/*.freezed.dart | ||
lib/src/utils/*.g.dart | ||
lib/src/utils/*.freezed.dart | ||
lib/src/app/*.gr.dart | ||
lib/src/app/*.gm.dart | ||
lib/src/l10n/app_localizations.dart | ||
lib/src/l10n/app_localizations_*.dart | ||
key: ${{ runner.os }}-${{ steps.flutter.outputs.CHANNEL }}-dart-${{ hashFiles('**/build.yaml') }} | ||
- name: 🔌 Generate files | ||
run: melos run gen | ||
- name: 🔧 Build | ||
run: | | ||
flutter build ${{ matrix.target }} ${{ matrix.flutter-flags }} | ||
working-directory: packages/app/ | ||
- name: ⚙️ Upload build | ||
if: matrix.target == 'web' | ||
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | ||
with: | ||
name: app-${{ matrix.target }}-build | ||
path: "./packages/app/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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
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: melos bootstrap | ||
- name: ⚙️ Cache generated files | ||
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | ||
with: | ||
path: | | ||
.dart_tool/ | ||
lib/src/gen/*.gen.dart | ||
lib/src/features/**/*.g.dart | ||
lib/src/features/**/*.freezed.dart | ||
lib/src/utils/*.g.dart | ||
lib/src/utils/*.freezed.dart | ||
lib/src/app/*.gr.dart | ||
lib/src/app/*.gm.dart | ||
lib/src/l10n/app_localizations.dart | ||
lib/src/l10n/app_localizations_*.dart | ||
key: ${{ runner.os }}-${{ steps.flutter.outputs.CHANNEL }}-dart-${{ hashFiles('**/build.yaml') }} | ||
- name: 🔌 Generate files | ||
run: melos run gen | ||
- name: 🕵️ Analyze project source | ||
run: melos run lint | ||
|
||
test: | ||
name: Testing | ||
needs: ["setup"] | ||
timeout-minutes: 7 | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: 📚 Git checkout | ||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
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: melos bootstrap | ||
- name: ⚙️ Cache generated files | ||
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | ||
with: | ||
path: | | ||
.dart_tool/ | ||
lib/src/gen/*.gen.dart | ||
lib/src/features/**/*.g.dart | ||
lib/src/features/**/*.freezed.dart | ||
lib/src/utils/*.g.dart | ||
lib/src/utils/*.freezed.dart | ||
lib/src/app/*.gr.dart | ||
lib/src/app/*.gm.dart | ||
lib/src/l10n/app_localizations.dart | ||
lib/src/l10n/app_localizations_*.dart | ||
key: ${{ runner.os }}-${{ steps.flutter.outputs.CHANNEL }}-dart-${{ hashFiles('**/build.yaml') }} | ||
- name: 🔌 Generate files | ||
run: melos run gen | ||
- name: 🧪 Run tests | ||
run: melos run test | ||
- name: 📊 Check code coverage | ||
uses: VeryGoodOpenSource/very_good_coverage@c953fca3e24a915e111cc6f55f03f756dcb3964c # v3.0.0 | ||
with: | ||
path: coverage/lcov.info | ||
min_coverage: 90 # 100 | ||
|
||
format: | ||
name: Formatting | ||
needs: ["setup"] | ||
timeout-minutes: 3 | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: 📚 Git checkout | ||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
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: melos format --output=none --set-exit-if-changed | ||
|
||
spell-check: | ||
name: Check Spelling | ||
needs: [] | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: 📚 Git Checkout | ||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
with: | ||
submodules: recursive | ||
clean: true | ||
persist-credentials: false | ||
set-safe-directory: true | ||
|
||
- name: 🪄 Spell Check | ||
uses: streetsidesoftware/cspell-action@245201e3f58019204d99920deeb78aade6724230 # v6.6.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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
with: | ||
submodules: recursive | ||
clean: true | ||
persist-credentials: false | ||
set-safe-directory: true | ||
- name: 🕵️ Markdown linting | ||
uses: DavidAnson/markdownlint-cli2-action@b4c9feab76d8025d1e83c653fa3990936df0e6c8 # v16.0.0 | ||
id: markdownlint | ||
with: | ||
fix: true | ||
# Surprisingly, the default is to only lint the project root. | ||
globs: | | ||
**/*.md |
Oops, something went wrong.