New in v2.1.0
Today we released GenuineCI v2.1.0. This release adds helpers for building Android apps from Dart and a way to switch your active team in the CLI.
It includes 18 commits across 65 files since v2.0.0. We also improved the workflow SDK for standalone use, static analysis configuration, and workspace path generation.
APKs and AABs, from a Dart workflow.
FlutterCI now includes buildApk() and buildAab(). You can await APK and Android App Bundle builds in the same sequence as analysis and tests.
Use flavor to select a product flavor and dir to change the working directory for a step. Both are optional, so you can start without arguments.
GenuineCI's own Dashboard now has a CI workflow that restores signing files from secrets and builds APKs and AABs.
await ci.flutter.buildApk(flavor: 'staging');
await ci.flutter.buildAab(flavor: 'production');These are workflow steps using ci created with OpenCI.init(). Initialization and imports are omitted.
Set analysis strictness for your project.
staticAnalysis() now accepts fatalInfo, noFatalInfos, and noFatalWarnings. Each workflow can choose whether informational diagnostics fail a build or whether info and warning diagnostics are allowed.
Analytics are suppressed by default. Set suppressAnalytics: false if needed. As before, dir changes the working directory used for analysis.
await ci.flutter.staticAnalysis(
fatalInfo: true,
);This example treats info diagnostics as failures. Initialization and imports are omitted.
Switch teams from the CLI.
openci switch team fetches the teams available to your signed-in profile and lets you select one with the arrow keys and Enter. It shows the current team and supports long lists and Japanese team names.
The selection is saved to the current profile and used by subsequent secret commands. Tokens, server settings, and other profiles are preserved. Cancelling leaves the original team selected.
We also unified interactive-input cleanup and signal handling, including a fix for a crash when exiting the terminal on macOS ARM64.
openci switch team
openci list secrets
openci sync secretsRun these commands after signing in with openci login.
A more independent SDK and deeper workspace paths.
openci_workflow is now at 0.1.1. We removed its dependencies on the server-side openci_shared package and Chopper, and prepared the README, examples, license, and package metadata for standalone use and publication on pub.dev.
openci sync paths now collects deeper workspace directories. Typed paths such as WorkspacePaths.root.apps.dashboard.android.app can point to Android configuration directories. Build outputs, dependencies, and hidden directories are excluded.
We also added the GenuineCI landing page and blog using Jaspr. This blog will share release updates and the story of building GenuineCI.