Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): bump DavidAnson/markdownlint-cli2-action from 15.0.0 to 16.0.0 #1

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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@b4c9feab76d8025d1e83c653fa3990936df0e6c8 # v16.0.0
id: markdownlint
with:
fix: true
globs: |
**/*.md
continue-on-error: true
Loading
Loading