Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
shiosyakeyakini-info committed Jul 3, 2023
2 parents a21e41f + 8306d56 commit fb83895
Show file tree
Hide file tree
Showing 170 changed files with 14,736 additions and 1,931 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/dart_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Flutter Testを実行する

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

permissions:
contents: read
pull-requests: write

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603

- name: Install Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true

- name: Run flutter version
run: flutter --version

- name: Run flutter pub get
run: flutter pub get

- name: Run flutter test with coverage
run: flutter test --coverage --coverage-path=~/coverage/lcov.info

- uses: codecov/codecov-action@v1
with:
token: ${{secrets.CODECOV_TOKEN}}
file: ~/coverage/lcov.info
104 changes: 104 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
name: デプロイ

on: [workflow_dispatch]

permissions:
contents: write

env:
GIT_USER_EMAIL: '41898282+github-actions[bot]@users.noreply.github.com'
GIT_USER_NAME: 'github-actions[bot]'

jobs:
build_for_iOS:
name: iOS・Android用ビルド
runs-on: macos-latest

steps:
- uses: actions/checkout@v2

- name: Install flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true

- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '11'
cache: 'gradle'


- name: Cache pubspec dependencies
uses: actions/cache@v2
with:
path: |
${{ env.FLUTTER_HOME }}/.pub-cache
**/.packages
**/.flutter-plugins
**/.flutter-plugin-dependencies
**/.dart_tool/package_config.json
key: build-pubspec-${{ hashFiles('**/pubspec.lock') }}
restore-keys: |
build-pubspec-
- name: Flutter pub get
run: flutter pub get

- name: Initialize git config
run: |
git config --local user.name $GIT_USER_NAME
git config --local user.email $GIT_USER_EMAIL
- name: Bump up version
run: |
flutter pub run cider bump build --bump-build
echo "BUMP_VERSION=$(flutter pub run cider version)" >> $GITHUB_ENV
- name: Commit and push pubspec.yaml
run: |
git add -u pubspec.yaml
echo "Bumped version number to $BUMP_VERSION" | git commit --file=-
git push
- name: Run flutter test with coverage
run: flutter test --coverage --coverage-path=~/coverage/lcov.info

- name: Extract App Store Connect API Private Key in ./private_keys
env:
APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
APPLE_API_AUTHKEY_P8_BASE64: ${{ secrets.APPLE_API_AUTHKEY_P8_BASE64 }}
run: |
mkdir ./private_keys
echo -n "$APPLE_API_AUTHKEY_P8_BASE64" | base64 --decode --output ./private_keys/AuthKey_$APPLE_API_KEY_ID.p8
- name: Create archive file
run: flutter build ipa --no-tree-shake-icons --release --no-codesign

- name: Release by fastlane
env:
APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
APPLE_API_ISSUER_ID: ${{ secrets.APPLE_API_ISSUER_ID }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MATCH_REPOSITORY_ACCESS_TOKEN: ${{ secrets.MATCH_REPOSITORY_ACCESS_TOKEN }}
MATCH_REPOSITORY_USERNAME: ${{ secrets.MATCH_REPOSITORY_USERNAME }}
run: |
cd ios
bundle install
fastlane release
- name: Create apk file
run: |
echo -n "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | base64 --decode --output ./android/release.keystore
export ANDROID_KEYSTORE_PASSWORD="${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
export ANDROID_KEY_ALIAS="${{ secrets.ANDROID_KEY_ALIAS }}"
export ANDROID_KEY_PASSWORD="${{ secrets.ANDROID_KEY_PASSWORD }}"
flutter build apk --no-tree-shake-icons --release
- name: Create tag and release note
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create v$BUMP_VERSION --generate-notes --draft ./build/app/outputs/flutter-apk/app-release.apk
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
.history
.svn/
migrate_working_dir/
/coverage/

# IntelliJ related
*.iml
Expand Down Expand Up @@ -44,4 +45,7 @@ app.*.map.json
/android/app/release

# builder
**/node_modules/
**/node_modules/

# Release
/private_keys/
28 changes: 4 additions & 24 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -1,29 +1,9 @@
# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
# invoked from the command line by running `flutter analyze`.

# The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml

linter:
# The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
# included above or to enable additional rules. A list of all available lints
# and their documentation is published at
# https://dart-lang.github.io/linter/lints/index.html.
#
# Instead of disabling a lint rule for the entire project in the
# section below, it can also be suppressed for a single line of code
# or a specific dart file by using the `// ignore: name_of_lint` and
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
# producing the lint.
rules:
# avoid_print: false # Uncomment to disable the `avoid_print` rule
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule

# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options
analyzer:
exclude:
- /**/*.freezed.dart
- /**/*.g.dart
14 changes: 11 additions & 3 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,21 @@ android {
versionName flutterVersionName
}

signingConfigs {
release {
storeFile rootProject.file('release.keystore')
storePassword System.getenv('ANDROID_KEYSTORE_PASSWORD')
keyAlias System.getenv('ANDROID_KEY_ALIAS')
keyPassword System.getenv('ANDROID_KEY_PASSWORD')
}
}

buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
signingConfig signingConfigs.release
}
}

}

flutter {
Expand Down
18 changes: 18 additions & 0 deletions ios/ExportOptions.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>destination</key>
<string>upload</string>
<key>manageAppVersionAndBuildNumber</key>
<true/>
<key>method</key>
<string>app-store</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>45Y496AN6Q</string>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>
3 changes: 3 additions & 0 deletions ios/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
source "https://rubygems.org"

gem "fastlane"
Loading

0 comments on commit fb83895

Please sign in to comment.