Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
78 changes: 40 additions & 38 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,18 +84,13 @@ jobs:
fi
fi

build:
name: Test and build signed APK
validate:
name: Validate source
needs: version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: "17"

- uses: subosito/flutter-action@v2
with:
channel: stable
Expand All @@ -110,6 +105,31 @@ jobs:
flutter analyze
flutter test

build:
name: Build signed APK
needs: version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: "17"
cache: gradle
cache-dependency-path: |
pubspec.lock
android/gradle.properties
android/*.gradle.kts
android/app/*.gradle.kts
android/gradle/wrapper/gradle-wrapper.properties

- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.41.1
cache: true

- name: Configure the persistent release signing key
env:
KEYSTORE: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
Expand Down Expand Up @@ -155,11 +175,18 @@ jobs:
path: release-assets/*.apk
if-no-files-found: error
retention-days: 1
# APK files are already compressed ZIP containers.
compression-level: 0

assemble:
name: Assemble release
needs: [version, build]
name: Assemble and publish release
needs: [version, validate, build]
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG: ${{ needs.version.outputs.tag }}
CHANNEL: ${{ needs.version.outputs.channel }}
REPO: ${{ github.repository }}
steps:
- uses: actions/checkout@v5

Expand All @@ -180,12 +207,10 @@ jobs:

- name: Upload the APK and manifest to the versioned release
if: needs.version.outputs.publish == 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release upload "${{ needs.version.outputs.tag }}" \
gh release upload "$TAG" \
release-assets/* android-update*.json \
--repo "$GITHUB_REPOSITORY" --clobber
--repo "$REPO" --clobber

- name: Keep an unpublished build as a workflow artifact
if: needs.version.outputs.publish != 'true'
Expand All @@ -197,32 +222,8 @@ jobs:
android-update*.json
if-no-files-found: error

publish:
name: Publish release
needs: [version, assemble]
if: needs.version.outputs.publish == 'true'
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG: ${{ needs.version.outputs.tag }}
CHANNEL: ${{ needs.version.outputs.channel }}
REPO: ${{ github.repository }}
steps:
- uses: actions/checkout@v5

- uses: actions/download-artifact@v5
if: needs.version.outputs.channel == 'testing'
with:
name: openflow-${{ needs.version.outputs.channel }}-${{ needs.version.outputs.version }}
path: release-assets

- name: Download the beta manifest
if: needs.version.outputs.channel == 'testing'
run: |
gh release download "$TAG" --repo "$REPO" --pattern android-update-beta.json

- name: Update the permanent beta channel pointer
if: needs.version.outputs.channel == 'testing'
if: needs.version.outputs.publish == 'true' && needs.version.outputs.channel == 'testing'
run: |
if ! gh release view "$BETA_POINTER_TAG" --repo "$REPO" >/dev/null 2>&1; then
gh release create "$BETA_POINTER_TAG" --repo "$REPO" --prerelease \
Expand All @@ -234,4 +235,5 @@ jobs:
--repo "$REPO" --clobber

- name: Make the completed release visible
if: needs.version.outputs.publish == 'true'
run: gh release edit "$TAG" --repo "$REPO" --draft=false
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ flowchart LR
E --> H[Campo selecionado]
```

O modelo atual é `microsoft/mai-transcribe-1.5`. O áudio é enviado somente quando uma transcrição é solicitada. O histórico de texto e as preferências continuam no aparelho.
O modelo inicial é `microsoft/mai-transcribe-1.5`. Nas configurações, você pode pesquisar e escolher qualquer modelo de transcrição disponível na OpenRouter; a escolha fica salva no aparelho. O áudio é enviado somente quando uma transcrição é solicitada. O histórico de texto e as preferências continuam no aparelho.

## Instalação

Expand Down
1 change: 1 addition & 0 deletions android/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,5 @@ flutter {

dependencies {
implementation("androidx.core:core-ktx:1.17.0")
testImplementation("junit:junit:4.13.2")
}
Loading
Loading