GitHub Actions
Publish patches from GitHub Actions with one click.
Set up the secrets
Get a token
Run
overpush tokenwhere the project works. See Continuous integration.Add them to the repository
In the repository on GitHub: Settings → Secrets and variables → Actions → New repository secret. Add
OVERPUSH_TOKENandOVERPUSH_API_BASE.
Workflow
Save as .github/workflows/patch.yml. Run it from the Actions tab with Run workflow.
name: patch-android
on:
workflow_dispatch:
inputs:
rollout:
description: Rollout percent
default: "10"
jobs:
patch:
runs-on: ubuntu-latest
env:
OVERPUSH_TOKEN: ${{ secrets.OVERPUSH_TOKEN }}
OVERPUSH_API_BASE: ${{ secrets.OVERPUSH_API_BASE }}
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: 3.41.4 # the version that built the release
- run: curl -fsSL https://overpush.in/install.sh | bash
- run: flutter pub get
- run: ~/.overpush/bin/overpush patch android --yes --rollout-percent ${{ inputs.rollout }}
name: patch-ios
on:
workflow_dispatch:
inputs:
rollout:
description: Rollout percent
default: "10"
jobs:
patch:
runs-on: macos-latest
env:
OVERPUSH_TOKEN: ${{ secrets.OVERPUSH_TOKEN }}
OVERPUSH_API_BASE: ${{ secrets.OVERPUSH_API_BASE }}
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: 3.41.4 # the version that built the release
- run: curl -fsSL https://overpush.in/install.sh | bash
- run: flutter pub get
- run: ~/.overpush/bin/overpush patch ios --yes --rollout-percent ${{ inputs.rollout }}
A patch needs no code signing. Releases do: to build iOS releases in CI, set up signing the way you would for flutter build ipa.
Patching a specific release
To patch something other than the newest release, add its version:
$ overpush patch android --yes --release-version 1.4.0+31
$ overpush patch ios --yes --release-version 1.4.0+31
Release ids are in the console's Releases tab.