Versions and setup
Dart is not installed on the build VMs by default, but it can be easily added by including these steps in your Setup Commands:
wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/dart.gpg echo 'deb [signed-by=/usr/share/keyrings/dart.gpg arch=amd64] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main' | sudo tee /etc/apt/sources.list.d/dart_stable.list sudo apt-get update sudo apt-get install -y dart
You can use these commands from the Dart SDK:
Dart VM (dart)
Dart package manager (pub)
Dart Analyzer (dart_analyzer)
You can install any dependencies you defined in your
Frameworks And Testing
As dart currently doesn’t have a default way to run your tests you can use exactly the same command to run those tests as you would on your local machine. Note that almost all tools for custom machine configuration will install and run without issue on CodeShip.
We automatically have
xvfb running on our System. You can use Firefox,
Chrome or PhantomJS to run your Dart tests in a browser. You can read
more in our
Browser Testing Guide
If you are running parallel test pipelines, you will want separate your tests into groups and call a group specifically in each pipeline. For instance:
pub run test tests/tests_1.dart
pub run test tests/tests_2.dart
In addition to parallelizing your tests explicitly via parallel pipelines, some customers have found using Dart test runner’s built-in test parallelization is a good way to speed up your tests.
Note that aggressive parallelization can cause resource and build failure issues, as well.
Notes And Known Issues
Due to Dart version and build issues, you may find it helpful to tests your commands with different versions via an SSH debug session if tests are running differently on CodeShip compared to your local machine.