Automating Flutter Deployments: Configuring CircleCI

Automating Flutter Deployments: Part 3 – Configuring CircleCI

Rachel Walker Development Technologies, Flutter Leave a Comment

Recently, I’ve worked on automating some internal processes for building and releasing Flutter applications. Part of this effort included utilizing Fastlane with a Continuous Integration/Delivery platform to build and deploy the app. This blog post will outline the process I followed to run the build on CircleCI after I had configured Fastlane to build and deploy the application from my local machine.

Automating Flutter Deployments: Part 2 – Screenshots

Rachel Walker Development Technologies, Flutter Leave a Comment

Recently, I worked on automating some internal processes for building and releasing Flutter applications. Part of this work has involved integrating integration test runs and screenshots as part of the release and deployment process.

I wanted to be able to use the same set of tests to validate our code on Android and iOS devices without having to write large amounts of platform-specific code or configuration. These tests needed to be able to integrate with Fastlane, so they can be utilized by CI/CD. Specifically, this restricted setup runs using command line tools with no manual steps in Xcode or Android Studio, aside project level configuration.

This blog is Part 2 of a three-part series exploring automating Flutter CI/CD on CircleCI. Part 1 covered setting up Fastlane to build and deploy applications locally, this post outlines automating screenshot capture and test runs, and part 3 discusses configuring CircleCI to automate these processes.

Automating Flutter Deployments: Part 1 – Fastlane Configuration

Rachel Walker Development Technologies, Flutter, Tutorial Leave a Comment

This blog is Part 1 of a three-part series exploring automating Flutter CI/CD on CircleCI. This post covers setting Fastlane to build and deploy applications, Part 2 will outline automating screenshot capture and test runs, and Part 3 will discuss configuring CircleCI to automate these processes.

The documentation for configuring Fastlane for Flutter is fairly comprehensive, however now that I have done it once, there are some things I wish I had known. As mentioned, this blog post will go through the steps for setting up Fastlane to run locally and provide some advice and resources for structuring the setup to easily migrate to a CI/CD platform.

End-To-End Testing

Tips Learned From Years of Automated End-to-End Testing

Forrest Goyer Programming, Testing Leave a Comment

Imagine for a moment that we’re getting ready to publish a new app or feature. Following the principles of Test Driven Development (like we always do), we have created a full suite of unit tests. We’re never pressed for time, so we’ve also built out full coverage integration and functional tests.

In order to ensure our front-end is behaving as expected, we’ll need to either manually step through the application or just push our commit to the main branch and let our continuous integration pipeline do the building and testing for us. But, if we wrote our end-to-end (E2E) tests without automation in mind, we might find the results lacking in usefulness…

This post isn’t a discussion on what E2E testing is nor a tutorial on how to get started. For that, resources like Smartbear, CircleCI, and Playwright have already published articles and tutorials that do a great job of covering that ground. In this post, we’ll talk through a few tips I’ve picked up over 5 years of championing fully automated end-to-end testing.

Adding Autocompletion to Bash Scripts

Adding Autocompletion to Bash Scripts

Jake Everhart Development Technologies, Programming, Tutorial Leave a Comment

If you have ever mashed the Tab key to finish typing a filename or to show you the available flags to use when running a program, you know that autocompletion can be a great improvement for a command-line tool. But how easy is this to implement for your own executables?

This blog is a guide providing an overview of how autocompletion can be achieved through bash. We will see some of the core concepts in action, focusing on how they interact with each other and the behavior that results.