diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..fa11699 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,73 @@ +name: CI + +on: + workflow_dispatch: + +jobs: + build-linux: + name: Build for Linux + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: '3.1.3' + - run: flutter config --enable-linux-desktop + - run: flutter pub get + - name: Build for Linux + run: flutter build linux + - name: Archive Linux Artifact + uses: actions/upload-artifact@master + with: + name: linux-build + path: build/x64/release/bundle + + build-android: + name: Build for Android + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: '3.1.3' + - uses: actions/setup-java@v2 + with: + distribution: 'zulu' + java-version: '11' + - run: flutter config --enable-android + - run: flutter pub get + - run: flutter build apk + - run: flutter build appbundle + - name: Archive Android Artifact + uses: actions/upload-artifact@master + with: + name: android-build + path: | + build/app/outputs/flutter-apk/app-release.apk + build/app/outputs/bundle/release/app-release.aab + + build-and-publish-web: + name: Build and Publish for Web + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: '3.1.3' + - name: Enable flutter web + run: flutter config --enable-web + - name: Get dependencies + run: flutter pub get + - name: Build for Web + run: flutter build web + - name: Publish to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: build/web diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..d45d636 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,22 @@ +name: Test + +on: + workflow_dispatch: + +jobs: + tests: + name: Run Tests + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: '3.1.3' + - name: Get dependencies + run: flutter pub get + - name: Analyze + run: flutter analyze + - name: Run tests + run: flutter test