chore(smoke): add PowerShell variant of open_home_dynamic + ignore ev… #326
This file contains hidden or 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
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - master | |
| tags: | |
| - '*' | |
| pull_request: | |
| paths-ignore: | |
| - '**/*.md' | |
| - '**/*.txt' | |
| - '**/*.png' | |
| - '**/*.jpg' | |
| jobs: | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Free Disk Space | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| tool-cache: false | |
| android: false | |
| dotnet: true | |
| haskell: true | |
| large-packages: true | |
| docker-images: true | |
| swap-storage: true | |
| - uses: actions/checkout@v2 | |
| - uses: actions/setup-java@v2 | |
| with: | |
| distribution: 'zulu' | |
| java-version: 21 | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: stable | |
| flutter-version-file: .fvmrc | |
| cache: true | |
| - name: Create config file | |
| run: | | |
| echo 'class NetConfig { static const CLIENT_ID = "${{ secrets.CLIENT_ID }}"; static const CLIENT_SECRET = "${{ secrets.CLIENT_SECRET }}";}' > lib/common/config/ignoreConfig.dart | |
| - run: flutter pub get | |
| # 白名单跑当前已稳定的测试文件。issue_timeline_item_test.dart 的 4 个 | |
| # reviewed body 用例(曾撞 non-uniform border + borderRadius 断言)已随 | |
| # _reviewBodyCard 改为 Stack + Positioned 色带方案而绿掉,纳入白名单。 | |
| - name: Run unit / widget tests (whitelist) | |
| run: >- | |
| flutter test | |
| test/utils/event_utils_test.dart | |
| test/model/issue_timeline_event_test.dart | |
| test/widget/markdown_html_transformer_test.dart | |
| test/widget/issue_timeline_item_test.dart | |
| test/page/issue/issue_timeline_merge_test.dart | |
| test/page/dynamic/dynamic_bloc_test.dart | |
| - run: flutter build apk --release --target-platform=android-arm64 --no-shrink | |
| apk: | |
| name: Generate APK | |
| if: startsWith(github.ref, 'refs/tags/') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Free Disk Space | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| tool-cache: false | |
| android: false | |
| dotnet: true | |
| haskell: true | |
| large-packages: true | |
| docker-images: true | |
| swap-storage: true | |
| - name: Checkout | |
| uses: actions/checkout@v2 | |
| - name: Setup JDK | |
| uses: actions/setup-java@v2 | |
| with: | |
| distribution: 'zulu' | |
| java-version: 21 | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: stable | |
| flutter-version-file: .fvmrc | |
| cache: true | |
| - name: Create config file | |
| run: | | |
| echo 'class NetConfig { static const CLIENT_ID = "${{ secrets.CLIENT_ID }}"; static const CLIENT_SECRET = "${{ secrets.CLIENT_SECRET }}";}' > lib/common/config/ignoreConfig.dart | |
| - run: flutter pub get | |
| - run: flutter build apk --release --target-platform=android-arm64 --no-shrink | |
| - name: Upload APK | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: apk | |
| path: build/app/outputs/apk/release/app-release.apk | |
| release: | |
| name: Release APK | |
| needs: apk | |
| if: startsWith(github.ref, 'refs/tags/') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Free Disk Space | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| tool-cache: false | |
| android: false | |
| dotnet: true | |
| haskell: true | |
| large-packages: true | |
| docker-images: true | |
| swap-storage: true | |
| - name: Download APK from build | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: apk | |
| - name: Display structure of downloaded files | |
| run: ls -R | |
| - name: Create Release | |
| id: create_release | |
| uses: actions/create-release@v1.1.4 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| tag_name: ${{ github.ref }} | |
| release_name: ${{ github.ref }} | |
| - name: Upload Release APK | |
| id: upload_release_asset | |
| uses: actions/upload-release-asset@v1.0.1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ steps.create_release.outputs.upload_url }} | |
| asset_path: ./app-release.apk | |
| asset_name: app-release.apk | |
| asset_content_type: application/zip |