Skip to content

Merge pull request #29 from ConcenTech/dev #9

Merge pull request #29 from ConcenTech/dev

Merge pull request #29 from ConcenTech/dev #9

name: Build & Release
on:
push:
branches:
- 'main'
paths:
- 'lib/**'
- 'video_player/lib/**'
jobs:
create-release:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.yaml-version.outputs['version'] }}
steps:
- uses: actions/checkout@v4
- name: Parse pubspec.yaml
id: yaml-version
uses: nichmor/[email protected]
with:
config: pubspec.yaml
- name: Create release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
draft: true
tag_name: v${{ steps.yaml-version.outputs['version'] }}
build_android:
name: Build and sign android bundle
needs: create-release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Inject build number
uses: rmeneely/update-yaml@v1
with:
infile: pubspec.yaml
varlist: version=${{ needs.create-release.outputs.version }}+${{ github.run_id }}
- name: Setup the Java environment
uses: actions/setup-java@v4
with:
distribution: oracle
java-version: "17"
- name: Setup the flutter environment
uses: subosito/flutter-action@v2
with:
channel: "stable"
cache: true
- name: Create signing key
uses: timheuer/[email protected]
with:
fileDir: "/home/runner/work/album_share/android/"
fileName: "keystore.jks"
encodedString: ${{ secrets.ANDROID_KEY_BASE64 }}
- name: Create key.properties
run: |
echo "storePassword=${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" > android/key.properties
echo "keyPassword=${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" >> android/key.properties
echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" >> android/key.properties
echo "storeFile=/home/runner/work/album_share/android/keystore.jks" >> android/key.properties
- name: Build appbundle
run: |
flutter pub get
flutter build appbundle
ls -lah
- name: Rename bundle
run: mv build/app/outputs/bundle/release/app-release.aab build/app/outputs/bundle/release/album_share-${{ needs.create-release.outputs.version }}-android.aab
- name: Create symbols archive
uses: thedoctor0/[email protected]
with:
type: "zip"
filename: album_share-${{ needs.create-release.outputs.version }}-android-symbols.zip
directory: build/app/intermediates/merged_native_libs/release/mergeReleaseNativeLibs/out/lib
- name: Add files to release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
draft: true
tag_name: v${{ needs.create-release.outputs.version }}
files: |
**/album_share-${{ needs.create-release.outputs.version }}-android-symbols.zip
**/album_share-${{ needs.create-release.outputs.version }}-android.aab
build_linux:
runs-on: ubuntu-latest
needs: create-release
steps:
- uses: actions/checkout@v4
- name: Install flutter dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev libmpv-dev mpv
- name: Setup the flutter environment
uses: subosito/flutter-action@v2
with:
channel: "stable"
cache: true
- name: Build
run: |
flutter pub get
flutter build linux --release
- name: Create archive
uses: thedoctor0/[email protected]
with:
type: "zip"
filename: album_share-${{ needs.create-release.outputs.version }}-linux.zip
directory: build/linux/x64/release/bundle
- name: Add archive to release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
draft: true
tag_name: v${{ needs.create-release.outputs.version }}
files: |
**/album_share-${{ needs.create-release.outputs.version }}-linux.zip
# build_windows:
# runs-on: windows-latest
# steps:
# - uses: actions/checkout@v4
# - name: Setup the flutter environment
# uses: subosito/flutter-action@v2
# with:
# channel: "stable"
# - name: Install project dependencies
# run: flutter pub get
# - name: Generate build files
# run: dart run build_runner build --delete-conflicting-outputs
# - name: Build
# run: flutter build windows --release
# - name: Creative archive
# uses: thedoctor0/[email protected]
# with:
# type: "zip"
# filename: AlbumShare-{{github.ref_name}}-windows.zip
# directory: build/windows/x64/runner/Release
# - name: Add archive to release
# uses: softprops/action-gh-release@v2
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# files: build/windows/x64/runner/Release/AlbumShare-{{github.ref_name}}-windows.zip
# build_macos:
# runs-on: macos-latest
# steps:
# - uses: actions/checkout@v4
# - name: Setup the flutter environment
# uses: subosito/flutter-action@v2
# with:
# channel: "stable"
# - name: Install project dependencies
# run: flutter pub get
# - name: Generate build files
# run: dart run build_runner build --delete-conflicting-outputs
# - name: Build
# run: flutter build macos --release
# - name: Creative archive
# uses: thedoctor0/[email protected]
# with:
# type: "zip"
# filename: AlbumShare-{{github.ref_name}}-macos.zip
# directory: build/macos/Build/Products/Release
# - name: Add archive to release
# uses: softprops/action-gh-release@v2
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# files: build/macos/Build/Products/Release/AlbumShare-{{github.ref_name}}-macos.zip
# build_ios:
# runs-on: macos-latest
# steps: