Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/actions/debian/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: "Debian Workflow"

inputs:
VERSION_NAME:
description: 'Version Name to be used for build'
required: false
default: '1.0.0'
VERSION_CODE:
description: 'Version Code to be used for build'
required: true
default: '1'

runs:
using: "composite"
steps:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
cache: true
flutter-version-file: pubspec.yaml

- name: Install Linux dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y \
libgtk-3-dev \
liblzma-dev \
clang \
cmake \
ninja-build \
pkg-config \
libglib2.0-dev \
libblkid-dev \
libgcrypt20-dev

- name: Build Linux (Debian) App
shell: bash
env:
VERSION_NAME: ${{ inputs.VERSION_NAME }}
VERSION_CODE: ${{ inputs.VERSION_CODE }}
run: |
flutter build linux --build-name $VERSION_NAME --build-number $VERSION_CODE
28 changes: 28 additions & 0 deletions .github/actions/macos/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: "macOS Workflow"

inputs:
VERSION_NAME:
description: 'Version Name to be used for build'
required: false
default: '1.0.0'
VERSION_CODE:
description: 'Version Code to be used for build'
required: true
default: '1'

runs:
using: "composite"
steps:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
cache: true
flutter-version-file: pubspec.yaml

- name: Build macOS App
shell: bash
env:
VERSION_NAME: ${{ inputs.VERSION_NAME }}
VERSION_CODE: ${{ inputs.VERSION_CODE }}
run: |
flutter build macos --build-name $VERSION_NAME --build-number $VERSION_CODE
28 changes: 28 additions & 0 deletions .github/actions/web/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: "Web Workflow"

inputs:
VERSION_NAME:
description: 'Version Name to be used for build'
required: false
default: '1.0.0'
VERSION_CODE:
description: 'Version Code to be used for build'
required: true
default: '1'

runs:
using: "composite"
steps:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
cache: true
flutter-version-file: pubspec.yaml

- name: Build Web App
shell: bash
env:
VERSION_NAME: ${{ inputs.VERSION_NAME }}
VERSION_CODE: ${{ inputs.VERSION_CODE }}
run: |
flutter build web --release --build-name $VERSION_NAME --build-number $VERSION_CODE
28 changes: 28 additions & 0 deletions .github/actions/windows/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: "Windows Workflow"

inputs:
VERSION_NAME:
description: 'Version Name to be used for build'
required: false
default: '1.0.0'
VERSION_CODE:
description: 'Version Code to be used for build'
required: true
default: '1'

runs:
using: "composite"
steps:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
cache: true
flutter-version-file: pubspec.yaml

- name: Build Windows App
shell: bash
env:
VERSION_NAME: ${{ inputs.VERSION_NAME }}
VERSION_CODE: ${{ inputs.VERSION_CODE }}
run: |
flutter build windows --build-name $VERSION_NAME --build-number $VERSION_CODE
41 changes: 41 additions & 0 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,47 @@ jobs:
- name: iOS Workflow
uses: ./.github/actions/ios


macos:
name: macOS Flutter Build
needs: common
runs-on: macos-latest
steps:
- uses: actions/checkout@v4

- name: macOS Workflow
uses: ./.github/actions/macos

windows:
name: Windows Flutter Build
needs: common
runs-on: windows-latest
steps:
- uses: actions/checkout@v4

- name: Windows Workflow
uses: ./.github/actions/windows

debian:
name: Debian Flutter Build
needs: common
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Debian Workflow
uses: ./.github/actions/debian

web:
name: Web Flutter Build
needs: common
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Web Workflow
uses: ./.github/actions/web

screenshots-android:
name: Screenshots (Android)
runs-on: ubuntu-latest
Expand Down
144 changes: 143 additions & 1 deletion .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -270,4 +270,146 @@ jobs:
- name: iPad Screenshot Workflow
uses: ./.github/actions/screenshot-ipad
with:
IPAD_DEVICE_MODEL: ${{ env.IPAD_DEVICE_MODEL }}
IPAD_DEVICE_MODEL: ${{ env.IPAD_DEVICE_MODEL }}


debian:
name: Debian Flutter Build
needs: common
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Debian Workflow
uses: ./.github/actions/debian
with:
VERSION_NAME: ${{ needs.common.outputs.VERSION_NAME }}
VERSION_CODE: ${{ needs.common.outputs.VERSION_CODE }}

- name: Upload Debian Build
uses: actions/upload-artifact@v4
with:
name: Debian Build
path: build/linux/x64/release/bundle/

- name: Push Debian Build to app branch
shell: bash
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git clone --branch=app https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} app
cd app
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
cp -r ../build/linux/x64/release/bundle/* .
git checkout --orphan temporary
git add --all
git commit -m "[Auto] Update Debian build from $branch ($(date +%Y-%m-%d.%H:%M:%S))"
git branch -D app
git branch -m app
git push --force origin app
macos:
name: macOS Flutter Build
needs: common
runs-on: macos-latest
steps:
- uses: actions/checkout@v4

- name: macOS Workflow
uses: ./.github/actions/macos
with:
VERSION_NAME: ${{ needs.common.outputs.VERSION_NAME }}
VERSION_CODE: ${{ needs.common.outputs.VERSION_CODE }}

- name: Upload macOS Build
uses: actions/upload-artifact@v4
with:
name: macOS Build
path: build/macos/Build/Products/Release/

- name: Push macOS Build to app branch
shell: bash
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git clone --branch=app https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} app
cd app
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
# Copy all macOS build artifacts to root
cp -r ../build/macos/Build/Products/Release/* .
git checkout --orphan temporary
git add --all
git commit -m "[Auto] Update macOS build from $branch ($(date +%Y-%m-%d.%H:%M:%S))"
git branch -D app
git branch -m app
git push --force origin app
windows:
name: Windows Flutter Build
needs: common
runs-on: windows-latest
steps:
- uses: actions/checkout@v4

- name: Windows Workflow
uses: ./.github/actions/windows
with:
VERSION_NAME: ${{ needs.common.outputs.VERSION_NAME }}
VERSION_CODE: ${{ needs.common.outputs.VERSION_CODE }}

- name: Upload Windows Build
uses: actions/upload-artifact@v4
with:
name: Windows Build
path: build/windows/x64/runner/Release/

- name: Push Windows Build to app branch
shell: bash
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git clone --branch=app https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} app
cd app
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
# Copy all Windows build artifacts to root
cp -r ../build/windows/x64/runner/Release/* .
git checkout --orphan temporary
git add --all
git commit -m "[Auto] Update Windows build from $branch ($(date +%Y-%m-%d.%H:%M:%S))"
git branch -D app
git branch -m app
git push --force origin app

web:
name: Web Flutter Build
needs: common
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Web Workflow
uses: ./.github/actions/web
with:
VERSION_NAME: ${{ needs.common.outputs.VERSION_NAME }}
VERSION_CODE: ${{ needs.common.outputs.VERSION_CODE }}

- name: Upload Web Build
uses: actions/upload-artifact@v4
with:
name: Web Build
path: build/web

- name: Push Web Build to app branch
shell: bash
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git clone --branch=app https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} app
cd app
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
# Copy all Web build artifacts to root
cp -r ../build/web/* .
git checkout --orphan temporary
git add --all
git commit -m "[Auto] Update Web build from $branch ($(date +%Y-%m-%d.%H:%M:%S))"
git branch -D app
git branch -m app
git push --force origin app
2 changes: 1 addition & 1 deletion macos/Podfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
platform :osx, '10.14'
platform :osx, '11.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
Expand Down
6 changes: 3 additions & 3 deletions macos/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -461,7 +461,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MACOSX_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
Expand Down Expand Up @@ -543,7 +543,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MACOSX_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
Expand Down Expand Up @@ -593,7 +593,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MACOSX_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
Expand Down
Loading