setup-dart installs and sets up a Dart SDK for use in GitHub Actions; it:
dart
tool to the system pathTo install the latest stable Dart SDK and run typical checks:
name: Dart
on:
pull_request:
branches: [main]
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dart-lang/setup-dart@v1
- run: dart pub get
- run: dart format --output=none --set-exit-if-changed .
- run: dart analyze
- run: dart test
The action takes the following inputs:
sdk
: Which SDK version to setup. Can be specified using one of three forms:
stable
, beta
, dev
, and main
. See the
Dart SDK archive for details.2.19
or 3.1
. This will install the
latest patch release for that specific release version.2.19.0
or 2.12.0-1.4.beta
.flavor
: Which build flavor to setup.
release
and raw
.release
flavor contains published builds.raw
flavor contains unpublished builds; these can be used by
developers to test against SDK versions before a signed release is
available. Note that the main
release channel only supports the raw
build flavor.architecture
: The CPU architecture to setup support for.
x64
, ia32
, arm
, and arm64
.The action produces the following output:
dart-version
: The version of the Dart SDK that was installed.You can create matrix jobs that run tests on multiple operating systems, and multiple versions of the Dart SDK.
The following example creates a matrix across two dimensions:
name: Dart
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
sdk: [3.1, stable, beta]
steps:
- uses: actions/checkout@v4
- uses: dart-lang/setup-dart@v1
with:
sdk: ${{ matrix.sdk }}
- name: Install dependencies
run: dart pub get
- name: Run tests
run: dart test
See the LICENSE file.
Contributions are welcome! Please see CONTRIBUTING.md.
Please see our CHANGELOG.md file.