Skip to content

chore(release): 1.0.6 #10

chore(release): 1.0.6

chore(release): 1.0.6 #10

Workflow file for this run

name: Release
on:
push:
tags:
- "v*"
jobs:
build_android_app_bundle:
name: Build Android App Bundle
needs:
- create_release
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Decrypt archive
env:
PASSPHRASE: ${{ secrets.PASSPHRASE }}
run: |
gpg --quiet --batch --yes --decrypt --passphrase "$PASSPHRASE" --output "./archive.tar" "./archive.tar.gpg"
tar -xf "./archive.tar"
rm "./archive.tar"
- name: Setup Flutter
uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
with:
channel: beta
- name: Build Android App Bundle
run: flutter build appbundle
- name: Upload release asset
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: actions/upload-release-asset@v1
with:
asset_content_type: application/octet-stream
asset_name: google-photos-album-searcher-android.aab
asset_path: ./build/app/outputs/bundle/release/app-release.aab
upload_url: ${{ needs.create_release.outputs.upload_url }}
build_android_application_package:
name: Build Android Application Package
needs:
- create_release
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Decrypt archive
env:
PASSPHRASE: ${{ secrets.PASSPHRASE }}
run: |
gpg --quiet --batch --yes --decrypt --passphrase "$PASSPHRASE" --output "./archive.tar" "./archive.tar.gpg"
tar -xf "./archive.tar"
rm "./archive.tar"
- name: Setup Flutter
uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
with:
channel: beta
- name: Build Android Application Package
run: flutter build apk --split-per-abi
- name: Upload release asset
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: actions/upload-release-asset@v1
with:
asset_content_type: application/vnd.android.package-archive
asset_name: google-photos-album-searcher-android-arm64.apk
asset_path: ./build/app/outputs/flutter-apk/app-arm64-v8a-release.apk
upload_url: ${{ needs.create_release.outputs.upload_url }}
- name: Upload release asset
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: actions/upload-release-asset@v1
with:
asset_content_type: application/vnd.android.package-archive
asset_name: google-photos-album-searcher-android-x64.apk
asset_path: ./build/app/outputs/flutter-apk/app-x86_64-release.apk
upload_url: ${{ needs.create_release.outputs.upload_url }}
build_linux:
name: Build Linux
needs:
- create_release
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Decrypt archive
env:
PASSPHRASE: ${{ secrets.PASSPHRASE }}
run: |
gpg --quiet --batch --yes --decrypt --passphrase "$PASSPHRASE" --output "./archive.tar" "./archive.tar.gpg"
tar -xf "./archive.tar"
rm "./archive.tar"
- name: Install dependencies
run: |
sudo apt-get update --yes && sudo apt-get upgrade --yes
sudo apt-get install --yes curl git unzip xz-utils zip libglu1-mesa
sudo apt-get install --yes clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev
- name: Setup Flutter
uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
with:
channel: beta
- name: Build Linux
run: flutter build linux
- name: Create installer
run: |
mkdir --parents --verbose "/tmp/google-photos-album-searcher/DEBIAN" && cp --recursive --verbose "./linux/packaging/DEBIAN/." "$_"
mkdir --parents --verbose "/tmp/google-photos-album-searcher/opt/thomasclark/google-photos-album-searcher" && cp --recursive --verbose "./build/linux/x64/release/bundle/." "$_"
mkdir --parents --verbose "/tmp/google-photos-album-searcher/usr" && cp --recursive --verbose "./linux/packaging/usr/." "$_"
sed --in-place "s/%VERSION%/$(yq ".version" "./pubspec.yaml" | grep --extended-regexp --only-matching "[0-9]+\.[0-9]+\.[0-9]+")/g" "/tmp/google-photos-album-searcher/DEBIAN/control"
dpkg-deb --build --root-owner-group --verbose "/tmp/google-photos-album-searcher"
- name: Upload release asset
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: actions/upload-release-asset@v1
with:
asset_content_type: application/vnd.debian.binary-package
asset_name: google-photos-album-searcher-linux-x64.deb
asset_path: /tmp/google-photos-album-searcher.deb
upload_url: ${{ needs.create_release.outputs.upload_url }}
build_web:
name: Build web
needs:
- create_release
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Decrypt archive
env:
PASSPHRASE: ${{ secrets.PASSPHRASE }}
run: |
gpg --quiet --batch --yes --decrypt --passphrase "$PASSPHRASE" --output "./archive.tar" "./archive.tar.gpg"
tar -xf "./archive.tar"
rm "./archive.tar"
- name: Setup Flutter
uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
with:
channel: beta
- name: Build web
run: flutter build web --web-renderer "html"
- name: Deploy hosting
uses: FirebaseExtended/action-hosting-deploy@v0
with:
channelId: live
firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_TIDAL_RUN_307407 }}
projectId: tidal-run-307407
repoToken: ${{ secrets.GITHUB_TOKEN }}
build_windows:
name: Build Windows
needs:
- create_release
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Decrypt archive
env:
PASSPHRASE: ${{ secrets.PASSPHRASE }}
run: |
gpg --quiet --batch --yes --decrypt --passphrase "$PASSPHRASE" --output "./archive.tar" "./archive.tar.gpg"
tar -xf "./archive.tar"
rm "./archive.tar"
shell: bash
- name: Install dependencies
run: |
choco install yq
- name: Setup Flutter
uses: tnc1997/github-actions/actions/setup-flutter@setup-flutter_v1
with:
channel: beta
- name: Build Windows
run: flutter build windows
- name: Create installer
run: |
. "${env:ProgramFiles(x86)}\Inno Setup 6\iscc.exe" "/DMyAppVersion=$(yq ".version" "./pubspec.yaml" | Select-String -Pattern "([0-9]+\.[0-9]+\.[0-9]+)" | ForEach-Object { $_.Matches.Groups[1].Value })" ".\windows\packaging\innosetup\setup.iss"
- name: Upload release asset
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: actions/upload-release-asset@v1
with:
asset_content_type: application/vnd.microsoft.portable-executable
asset_name: google-photos-album-searcher-windows-x64.exe
asset_path: ./windows/packaging/innosetup/Output/mysetup.exe
upload_url: ${{ needs.create_release.outputs.upload_url }}
create_release:
name: Create release
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
runs-on: ubuntu-latest
steps:
- name: Create release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
id: create_release
uses: actions/create-release@v1
with:
release_name: ${{ github.ref }}
tag_name: ${{ github.ref }}