diff --git a/.github/workflows/apk_deploy.yml b/.github/workflows/apk_deploy.yml new file mode 100644 index 000000000..5ecb6bfee --- /dev/null +++ b/.github/workflows/apk_deploy.yml @@ -0,0 +1,69 @@ +name: デプロイ(apk) + +on: [workflow_dispatch] + +permissions: + contents: write + + +jobs: + build_for_android: + name: Android用ビルド + runs-on: macos-latest + + steps: + - uses: actions/checkout@v4 + + - name: Get Flutter version from .fvmrc + run: echo "FLUTTER_FVM_VERSION=$(jq -r .flutter .fvmrc)" >> $GITHUB_ENV + + - name: Install flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: ${{ env.FLUTTER_FVM_VERSION }} + cache: true + + - uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: '17' + cache: 'gradle' + + + - name: Cache pubspec dependencies + uses: actions/cache@v4 + 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: Create symbolic link + run: ln -s ${{ env.FLUTTER_ROOT }} $HOME/work/flutter + + - name: Flutter pub get + run: flutter pub get + + - name: Get version + run: | + echo "BUMP_VERSION=$(flutter pub run cider version)" >> $GITHUB_ENV + + - 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 + mv ./build/app/outputs/flutter-apk/app-release.apk ./build/app/outputs/flutter-apk/miria-$BUMP_VERSION.apk + + - name: Create tag and release note + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release upload v$BUMP_VERSION --clobber ./build/app/outputs/flutter-apk/miria-$BUMP_VERSION.apk diff --git a/.github/workflows/build_test_ios.yml b/.github/workflows/build_test_ios.yml new file mode 100644 index 000000000..c255eae5b --- /dev/null +++ b/.github/workflows/build_test_ios.yml @@ -0,0 +1,49 @@ +name: テストビルド(iOS) + +on: [workflow_dispatch] + +jobs: + build_for_iOS: + name: iOS用テストビルド + runs-on: macos-latest + + steps: + - uses: actions/checkout@v4 + + - name: Install flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: ${{ env.FLUTTER_FVM_VERSION }} + cache: true + + - uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: '17' + cache: 'gradle' + + + - name: Cache pubspec dependencies + uses: actions/cache@v4 + 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: Create symbolic link + run: ln -s ${{ env.FLUTTER_ROOT }} $HOME/work/flutter + + - name: Flutter pub get + run: flutter pub get + + - name: Run flutter test with coverage + run: flutter test --coverage --coverage-path=~/coverage/lcov.info + + - name: Create archive file + run: flutter build ipa --no-tree-shake-icons --release --no-codesign \ No newline at end of file