In light of the ongoing pandemic we hope you and your close ones are safe and sound. The whole Codemagic team wishes you good health and we let you know that we are here to help if you have any concerns or questions.
Today, we’re sharing a bevy of new product updates, including some customers’ most frequently requested features, so teams of all sizes can accomplish more using Codemagic CI/CD. If there’s some crucial feature missing for your needs, please do not hesitate to contact us🙏.
Let’s take a look at what’s new.
#FlutterEngage💙: pub.green: the “can I use” for Flutter developers
Update: Starting from January 2022, pub.green is discontinued.
When choosing which packages to use in your next Flutter app, you can refer to pub.green to understand if the package has any compatibility issues with the Flutter channel or version you’re using. Thanks to the integration with pub.dev, new validations are run with every package update or new Flutter release.
>> Read the full-announcement here.
https://t.co/g3CzkY9IOJ - сервис, созданный ребятами из @codemagicio, специально для решения этой проблемы.
— Eugene Saturov (@saturovv) March 30, 2021
Находите нужный пакетик и получаете матрицу версий. Подключаете себе последнюю версию пакета с поддержкой вашей версии SDK. pic.twitter.com/ygNWN6nxfK
>> Read more What’s new in Flutter 2.0 by Chris Sells
PS! Flutter 2.0.0 is live and available as build version in Codemagic! Now is a good time to fix your flutter version to 1.22.6 if you’re not ready to build on the new version.
Improved UI/UX for users configuring their builds using codemagic.yaml
Displaying the codemagic.yaml file from the repository Instead of seeing a sample configuration that has no relation to your actual YAML file, we are now displaying the YAML file detected in the repository and used to configure the builds in the Codemagic UI.
Quick access to documentation and the encryption interface The new sidebar next to the YAML window contains links to configuration guides for easy access. In addition, we have moved the interface for encrypting environment variables and files closer to the YAML settings. This is now available on the Secret variables tab.
Linux build machines are live!
We are launching Linux build machine type for teams and users with billing enabled.
On Linux you can more quickly build Android and other non-Mac workflows with out of the box support for an Android emulator with hardware acceleration. You can specify a Linux build machine by using linux
or linux_x2
as codemagic.yaml instance_type.
Linux can only be used in codemagic.yaml configured workflows, so see the getting started guide or YAML cheatsheet to migrate over any workflows you want to use on Linux.
The pricing will kick in April 1st:
- Standard Linux VM - $0.015 per minute
- Premium Linux VM - $0.045 per minute
If your team is on a custom plan please reach out to us in email or in-app chat to enable Linux build machines.
As always, feel free to reach out to us in in-app chat or #codemagic-support if you need help migrating Flutter workflows to yaml or run into any issues with Linux build machines.
Build versioning
In the builds list you will now see name, version number, build number, and size of each installable artifact in the build. This will make it much easier to search for a particular build that built a an artifact build number uploaded to the app/play store.
>> Read more how to set a new build number to push to app stores
Build number auto-incrementing
Are you tired of having your build fail because of attempting to uploading an artifact to the app store with the same build number? Using Codemagic CLI Tools, you can now set your build number based on the build number in the Google Play, App Store, or Test Flight.
For example, you can increment an iOS build number with:
LATEST_BUILD_NUMBER=$(app-store-connect get-latest-testflight-build-number '<<APPLICATION_APPLE_ID>>')
agvtool new-version -all $(($LATEST_BUILD_NUMBER + 1))
See the build versioning docs for all the details on how to set the Apple App Store and Google Play credentials set up to enable auto-versioning in your yaml or Flutter UI configuration.
Also see the Android Versioning Example for a full code example of using version number in various places of your application.
This is the first time that I get something cool just for asking a question to @jcocaramos, during a @flutter_es meetup.
— Joaquim Puyo (@jpgpuyo) March 27, 2021
Thank you, you made my day :)@nevercodeHQ @codemagicio @flutter_es @jcocaramos pic.twitter.com/VB9ZlEEJCB
$50 credit for new teams
We now offer $50 free credit to try out Codemagic teams. This includes team features like sharing applications, public dashboards, scheduled builds, and Linux build machines. You can create a team on the teams page. See the Pay as you go section on our pricing page for the user and build minute rates that will count towards the free credit.
@codemagicio made this easy. Just generate an API key and app-speciifc password and you're all set
— Andrei Lesnitsky 💙 (@lesnitsky_dev) March 26, 2021
💻 As more of our builds move to configuration as code, we’ve made some UI changes to make navigating between Flutter workflow editor and codemagic.yaml workflows easier. You shouldn’t notice too much, but if you see something is really wrong (like your Flutter UI settings disappeared), don’t hesitate to reach out to us in Slack or in-app chat and we’ll fix it.
🛠 Add repository project selection We added a one-time project type selection popup in place of the old project selection page. The unintuitive project type dropdown and setting has been removed.
💙 Flutter Workflow Editor and codemagic.yaml tabs For Flutter projects, you’ll see tabs for navigating between the Workflow Editor UI and codemagic.yaml configuration.
🛠 Start New Build popup depends on workflow configuration You no longer have to jump through hoops to start a Flutter workflow editor or codemagic.yaml configured build, the new build popup will show what’s most relevant based on the build or workflow configuration.
Java JVM configurable on build machines
You can now specify a Java version in codemagic.yaml configured builds in the Environment section. You can see the preinstalled Java versions, as well as Android emulator details, in the MacOs and Linux build machine specs docs.
Top articles in March
@codemagicio Super Blog 🔥🔥
— Chima, pronounced Chee-ma (@codekeyz) March 22, 2021
>> Step-by-step guide to Android Code Signing & Code Signing with Codemagic
>> Firebase + React Native Authentication
>> iOS Code Signing and Publishing with codemagic.yaml file
>> [Environments (Flavors) in Flutter with Codemagic CI/CD](https://blog.codemagic.io/ environments-in-flutter-with-codemagic-cicd/) by Reso Coder
>> CI/CD for Flutter is a piece of cake with fastlane and Codemagic