From ba8e419866e123dd647aa8b5c3f8e3f569b4bc56 Mon Sep 17 00:00:00 2001 From: daniel-michel <65034538+daniel-michel@users.noreply.github.com> Date: Thu, 16 Nov 2023 15:35:00 +0100 Subject: [PATCH] feature: add github workflows --- .github/workflows/build.yml | 73 +++++++++++++++++++++++++++++++++++++ .github/workflows/test.yml | 22 +++++++++++ 2 files changed, 95 insertions(+) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/test.yml 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