Add .circleci/config.yml
This commit is contained in:
parent
5eaf220683
commit
0e54e73bb5
|
@ -0,0 +1,90 @@
|
||||||
|
# Author @mvxt
|
||||||
|
version: 2.1
|
||||||
|
|
||||||
|
# Simple YAML anchors
|
||||||
|
aliases:
|
||||||
|
- &project_dir "~/project"
|
||||||
|
|
||||||
|
commands:
|
||||||
|
dependencies:
|
||||||
|
description: "Download dependencies and setup global packages"
|
||||||
|
parameters:
|
||||||
|
shell:
|
||||||
|
type: string
|
||||||
|
default: "/bin/bash --login -eo pipefail"
|
||||||
|
pub-cache:
|
||||||
|
type: string
|
||||||
|
default: "~/.pub-cache"
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- restore_cache:
|
||||||
|
keys:
|
||||||
|
- v1.4-dependencies-{{ arch }}-{{ checksum "pubspec.lock" }}
|
||||||
|
- v1.4-dependencies-{{ arch }}-
|
||||||
|
- run:
|
||||||
|
name: Download deps
|
||||||
|
shell: << parameters.shell >>
|
||||||
|
command: pub get
|
||||||
|
- run:
|
||||||
|
name: Get junitreporter
|
||||||
|
shell: << parameters.shell >>
|
||||||
|
command: pub global activate junitreport
|
||||||
|
- save_cache:
|
||||||
|
key: v1.4-dependencies-{{ arch }}-{{ checksum "pubspec.lock" }}
|
||||||
|
paths:
|
||||||
|
- .dart_tool
|
||||||
|
- << parameters.pub-cache >>
|
||||||
|
|
||||||
|
###### ################
|
||||||
|
# Workflow definition
|
||||||
|
###### ################
|
||||||
|
workflows:
|
||||||
|
version: 2.1
|
||||||
|
test-and-build:
|
||||||
|
jobs:
|
||||||
|
- test
|
||||||
|
- build-linux:
|
||||||
|
requires:
|
||||||
|
- test
|
||||||
|
##################
|
||||||
|
# Job Definitions
|
||||||
|
##################
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
docker:
|
||||||
|
- image: google/dart:2.9.1
|
||||||
|
auth:
|
||||||
|
username: $DOCKER_USERNAME
|
||||||
|
password: $DOCKER_PASSWORD # context / project UI env-var reference
|
||||||
|
steps:
|
||||||
|
- dependencies:
|
||||||
|
shell: "/bin/bash -eo pipefail"
|
||||||
|
- run:
|
||||||
|
name: Make folder for test results
|
||||||
|
command: mkdir -p test-results/dart-tests
|
||||||
|
- run:
|
||||||
|
name: Run tests
|
||||||
|
command: pub run test --reporter json | tojunit --output test-results/dart-tests/circleci_dart_demo_test-report.xml
|
||||||
|
- store_test_results:
|
||||||
|
path: test-results
|
||||||
|
|
||||||
|
build-linux:
|
||||||
|
machine: true
|
||||||
|
steps:
|
||||||
|
- run:
|
||||||
|
name: Install Dart SDK
|
||||||
|
shell: /bin/bash --login -eo pipefail
|
||||||
|
command: |
|
||||||
|
# Setup repo & signing key
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install apt-transport-https
|
||||||
|
sudo sh -c 'wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -'
|
||||||
|
sudo sh -c 'wget -qO- https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list'
|
||||||
|
|
||||||
|
# Update again and install
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install dart
|
||||||
|
|
||||||
|
# Set PATH in profile for downstream commands
|
||||||
|
echo "export PATH=$PATH:/usr/lib/dart/bin" >> $BASH_ENV
|
||||||
|
- dependencies
|
Loading…
Reference in New Issue