Enable GitHub actions, bump dependencies, prepare for release (#104)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..f2bc620
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,37 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+name: ci
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ analyze:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - uses: dart-lang/setup-dart@v1.0
+ with:
+ sdk: dev
+ - run: pub get
+ - run: dart format --output=none --set-exit-if-changed .
+ - run: dart analyze --fatal-infos
+ test:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ sdk: [2.1.0, stable, dev]
+ steps:
+ - uses: actions/checkout@v2
+ - uses: dart-lang/setup-dart@v1.0
+ with:
+ sdk: ${{ matrix.sdk }}
+ - run: pub get
+ - run: pub run test -p vm,chrome
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index ade41f8..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,47 +0,0 @@
-language: dart
-
-# Gives more resources on Travis (8GB Ram, 2 CPUs).
-# Do not remove without verifying w/ Travis.
-sudo: required
-addons:
- chrome: stable
-
-# Build stages: https://docs.travis-ci.com/user/build-stages/.
-stages:
- - presubmit
- - build
- - testing
-
-# 1. Run dartfmt, dartanalyzer, pub run test (VM).
-# 2. Then run a build.
-# 3. Then run tests compiled via dartdevc and dart2js.
-jobs:
- include:
- - stage: presubmit
- script: ./tool/travis.sh dartfmt
- dart: dev
- - stage: presubmit
- script: ./tool/travis.sh dartanalyzer
- dart: dev
- - stage: build
- script: ./tool/travis.sh dartdevc_build
- dart: dev
- - stage: testing
- script: ./tool/travis.sh vm_test
- dart: dev
- - stage: testing
- script: ./tool/travis.sh dartdevc_test
- dart: dev
- - stage: testing
- script: ./tool/travis.sh dart2js_test
- dart: dev
-
-# Only building master means that we don't run two builds for each pull request.
-branches:
- only: [master]
-
-# Incremental pub cache and builds.
-cache:
- directories:
- - $HOME/.pub-cache
- - .dart_tool
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0e810aa..f3f6641 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,6 @@
-## 0.22.3-dev
+## 0.23.0
+* Support latest dependencies.
* Reintroduce custom equality for `PropertyChangeRecord` from 0.18.0.
## 0.22.2
diff --git a/README.md b/README.md
index bd82499..4419a99 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[![Build Status](https://travis-ci.org/dart-lang/observable.svg?branch=master)](https://travis-ci.org/dart-lang/observable)
+[![Build Status](https://github.com/google/observable/workflows/ci/badge.svg)](https://github.com/google/observable/actions?query=workflow%3A"ci"+branch%3Amaster)
Support for detecting and being notified when an object is mutated.
diff --git a/pubspec.yaml b/pubspec.yaml
index d62ddde..86de20c 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -7,14 +7,13 @@
dependencies:
collection: ^1.11.0
- dart_internal: ">=0.1.1 < 0.3.0"
+ dart_internal: ">=0.1.1 <0.3.0"
meta: ^1.0.4
- quiver: '>=0.24.0 <3.0.0'
+ quiver: '>=2.1.5 <4.0.0'
dev_dependencies:
build_runner: '>=0.8.0 <2.0.0'
- build_test: ^0.10.0
+ build_test: '>=0.10.6 <3.0.0'
build_web_compilers: '>=0.3.1 <3.0.0'
- dart_style: ^1.0.9
pedantic: ^1.4.0
test: ^1.3.0
diff --git a/tool/travis.sh b/tool/travis.sh
deleted file mode 100755
index ceb39a7..0000000
--- a/tool/travis.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
-# for details. All rights reserved. Use of this source code is governed by a
-# BSD-style license that can be found in the LICENSE file.
-
-#!/bin/bash
-
-if [ "$#" == "0" ]; then
- echo -e '\033[31mAt least one task argument must be provided!\033[0m'
- exit 1
-fi
-
-EXIT_CODE=0
-
-while (( "$#" )); do
- TASK=$1
- case $TASK in
- dartfmt) echo
- echo -e '\033[1mTASK: dartfmt\033[22m'
- echo -e 'dartfmt -n --set-exit-if-changed .'
- dartfmt -n --set-exit-if-changed . || EXIT_CODE=$?
- ;;
- dartanalyzer) echo
- echo -e '\033[1mTASK: dartanalyzer\033[22m'
- echo -e 'dartanalyzer --fatal-warnings --fatal-infos .'
- dartanalyzer --fatal-warnings --fatal-infos . || EXIT_CODE=$?
- ;;
- vm_test) echo
- echo -e '\033[1mTASK: vm_test\033[22m'
- echo -e 'pub run test -P travis -p vm -x requires-dart2'
- pub run test -p vm || EXIT_CODE=$?
- ;;
- dartdevc_build) echo
- echo -e '\033[1mTASK: build\033[22m'
- echo -e 'pub run build_runner build --fail-on-severe'
- pub run build_runner build --fail-on-severe || EXIT_CODE=$?
- ;;
- dartdevc_test) echo
- echo -e '\033[1mTASK: dartdevc_test\033[22m'
- echo -e 'xvfb-run pub run build_runner test -- -P travis -p chrome'
- xvfb-run pub run build_runner test -- -p chrome || EXIT_CODE=$?
- ;;
- dart2js_test) echo
- echo -e '\033[1mTASK: dart2js_test\033[22m'
- echo -e 'xvfb-run pub run test -P travis -p chrome -x requires-dart2'
- xvfb-run pub run test -p chrome || EXIT_CODE=$?
- ;;
- *) echo -e "\033[31mNot expecting TASK '${TASK}'. Error!\033[0m"
- EXIT_CODE=1
- ;;
- esac
-
- shift
-done
-
-exit $EXIT_CODE