diff --git a/.travis.yml b/.travis.yml index 9d3976022..2d56ddee7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -64,6 +64,9 @@ jobs: env: DART_CHANNEL=dev - <<: *dart-tests os: windows + # File system watching is extra flaky on Dart 2.5.0 on Windows (see + # dart-lang/sdk#38334). + env: DART_VERSION=2.4.1 - <<: *dart-tests os: osx @@ -110,10 +113,12 @@ jobs: (type IN (push, api)) AND (repo = sass/dart-sass) AND tag =~ ^\d+\.\d+\.\d+([+-].*)?$ script: pub run grinder sanity-check-before-release - # Deploy Linux and Windows releases to GitHub. Mac OS releases are deployed in - # a later stage so that we can build application snapshots on Mac OS bots. + # Deploy Linux releases to GitHub. Mac OS releases are deployed in a later + # stage so that we can build application snapshots on Mac OS bots, and Windows + # releases are deployed later so they can use Dart 2.4.1 to work around + # dart-lang/sdk#38334. - stage: deploy 1 - name: "GitHub: Windows and Linux" + name: "GitHub: Linux" if: *deploy-if env: &github-env - GITHUB_USER=sassbot @@ -125,7 +130,7 @@ jobs: script: skip # Don't run tests deploy: provider: script - script: pub run grinder github-release github-linux github-windows + script: pub run grinder github-release github-linux skip_cleanup: true # Don't clean up the Dart SDK. # This causes the deploy to only be build when a tag is pushed. This @@ -183,6 +188,9 @@ jobs: - name: Chocolatey if: *deploy-if env: + # File system watching is extra flaky on Dart 2.5.0 on Windows (see + # dart-lang/sdk#38334). + - DART_VERSION=2.4.1 # CHOCO_TOKEN="..." - secure: "cW11kQYBBEElfVsc1pJfVEHOMYwt0ZK+9STZHwSPbAISlplIRnsimMN7TqCY2aLnkWXyUMU7DphIl9uQ86M4BT1bJopsHbapj27bFSlKWHlBSDB/xylFHywV41Yk5lMlr8DLMbsSzVahasyR34xS6HYIRlDpZ9TFiQuDQNJxQmqTZJg/FC+3nqCI7tyMKGkWc48ikTcmqDMHsG9CudG2u+Q3S9sLNXArh9T4tSnAyWkTvSrS05mvFx5tC83PcG9/VkioTId+VRSJchwTmCxDFDROrTikTXZMtYn8wMAQ2wQ34TQXNZMZ9uiHA6W0IuJV2EnYerJbqV2lrJq9xqZywKu6HW6i4GhrCvizALNFZx/N7s/10xuf3UcuWizYml/e0MYT+6t4ojTYBMKv+Cx+H2Y2Jdpvdn2ZAIl6LaU3pLw4OIPJ7aXjDwZd63MPxtwGwVLHbH7Zu+oUv1erIq5LtatuocGWipD8WdiMBQvyCuDRMowpLPoAbj+mevOf+xlY2Eym4tOXpxM7iY3lXFHROo5dQbhsARfVF9J1gl5PuYXvCjxqTfK/ef9t3ZoDbi57+yAJUWlZfWa5r1zKE8OS0pA8GfQRLom/Lt0wKVw4Xiofgolzd9pEHi4JpsYIQb8O+u1ACQU6nBCS87CGrQ+ylnzKfGUs0aW2K3gvbkg0LUg=" script: skip @@ -232,3 +240,26 @@ jobs: script: pub run grinder github-mac-os skip_cleanup: true on: {tags: true} + + - name: "GitHub: Windows" + if: *deploy-if + env: + # We can't re-use the github-env alias here because we also need to + # override DART_VERSION. + # + # File system watching is extra flaky on Dart 2.5.0 on Windows (see + # dart-lang/sdk#38334). + - DART_VERSION=2.4.1 + - GITHUB_USER=sassbot + # GITHUB_AUTH="..." + # + # Note that this overrides the read-only auth token that's set for all + # builds. + - secure: "AAP74aT+8SQmwGeHrCsZ7GgppvCCkDAZXszivocMy3Fi9gfMCLABBCh67pGINJX4VlLW7ftPF3xivlvgGu+e4ncXz9m9jIPZ9Iza3cW5jCnCgyRGZD98gwabIDFWiv4X9V2xnJA2p1ZuYBf8Sh3TTipUFBKMjlnxVxYkIOTud4rUss/htFhxVA/oFTo0ThTZwXuxJ+GRGTM4PcuHPJvPf18iRPs2AHFV6ZP51xgc3AsXC6Zyom5EJeX0yGj9zWQ0XCjnuFdGsI6G9jmkrmqgAXuUipgqAn0tjxPYp9R/1HqnBLD3Zbrvyi5pCiSFclU6CS6kTDbefzPOc5+zrnlkaolVeF8tQ+EhZiZqtLnpLYUz9bgknoFUapUN4N0R36sKBStdRv54+sMeoOzpQ8ep3PeZW5nWbak12wcrDx38ToWs6hQ4ycb0SQDZZatHsASpSu2nX8HwzZSDAZmsAdB+epPmgA0CBjWVG1ycmVnT6l3OopUmbaY3pXBNzFUXq5Fcd7Q39/MfrmHpyxSc3QVf8xNtUx9ggYtK0Kwx6dgykhNMVzFGZRVyQgwpaiyDqgMGEU2GQzzcJhgKo9+y1fDtdfj/cctmvJ2Fo1fkk+DMkEPUHGOVo6uKFnartky9iLm1WiHDMruJ6SIOJzAnb+TMBWQTSwI+F4wyEiRVR8Zv4uA=" + + script: skip + deploy: + provider: script + script: pub run grinder github-windows + skip_cleanup: true + on: {tags: true} diff --git a/pubspec.yaml b/pubspec.yaml index 3de2626b6..e0eb14acf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: sass -version: 1.22.12-dev +version: 1.22.12 description: A Sass implementation in Dart. author: Sass Team homepage: https://github.com/sass/dart-sass diff --git a/test/cli/dart/watch_test.dart b/test/cli/dart/watch_test.dart index 3e6fd7ea7..b50568d4f 100644 --- a/test/cli/dart/watch_test.dart +++ b/test/cli/dart/watch_test.dart @@ -5,6 +5,10 @@ // OS X's modification time reporting is flaky, so we skip these tests on it. @TestOn('vm && !mac-os') +// File watching is inherently flaky at the OS level. To mitigate this, we do a +// few retries when the tests fail. +@Retry(3) + import 'package:test/test.dart'; import '../dart_test.dart'; diff --git a/test/cli/node/watch_test.dart b/test/cli/node/watch_test.dart index f1bffdaa8..780b649d7 100644 --- a/test/cli/node/watch_test.dart +++ b/test/cli/node/watch_test.dart @@ -6,6 +6,10 @@ @TestOn('vm && !mac-os') @Tags(['node']) +// File watching is inherently flaky at the OS level. To mitigate this, we do a +// few retries when the tests fail. +@Retry(3) + import 'package:test/test.dart'; import '../../ensure_npm_package.dart';