Skip to content

Commit ed92942

Browse files
authored
Merge pull request #53 from dint-dev/fix/ci
Improve CI pipeline
2 parents 8a16d0d + beadd53 commit ed92942

14 files changed

Lines changed: 98 additions & 59 deletions

.github/workflows/dart.yml

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,31 @@ name: Dart CI
22

33
on:
44
push:
5+
tags:
6+
# must align with the tag-pattern configured on pub.dev, often just replace
7+
# {{version}} with [0-9]+.[0-9]+.[0-9]+
8+
- 'v[0-9]+.[0-9]+.[0-9]+' # tag-pattern on pub.dev: 'v{{version}}'
59
branches:
610
- main
711
pull_request:
812

13+
env:
14+
MINIMUM_PANA_SCORE: 150
15+
916
jobs:
1017
format:
18+
name: Verify code formatting
1119
runs-on: ubuntu-slim
1220
steps:
1321
- uses: actions/checkout@v3
1422
- uses: dart-lang/setup-dart@v1
15-
- name: Print version
16-
run: dart --version
23+
- name: Install dependencies
24+
run: dart --version && dart pub get
1725
- name: Verify formatting
1826
run: dart format --set-exit-if-changed .
19-
analyze:
20-
needs: format
27+
lints:
28+
name: Analyze source code
29+
needs: [format]
2130
runs-on: ubuntu-slim
2231
strategy:
2332
fail-fast: false
@@ -28,28 +37,41 @@ jobs:
2837
- uses: dart-lang/setup-dart@v1
2938
with:
3039
sdk: ${{ matrix.sdk }}
31-
- name: Print version
32-
run: dart --version
3340
- name: Install dependencies
34-
run: dart pub get
41+
run: dart --version && dart pub get
3542
- name: Analyze project source
3643
run: dart analyze
44+
package_health:
45+
name: Analyze package health
46+
needs: [lints]
47+
runs-on: ubuntu-slim
48+
steps:
49+
- uses: actions/checkout@v3
50+
- uses: dart-lang/setup-dart@v1
51+
- name: Install dependencies
52+
run: dart --version && dart pub get && dart pub global activate pana
53+
- name: Run package analyzer
54+
run: dart pub global run pana --exit-code-threshold $MINIMUM_PANA_SCORE
3755
test:
38-
needs: analyze
56+
name: Run tests
57+
needs: [lints]
3958
runs-on: ${{ matrix.os }}
4059
strategy:
4160
fail-fast: false
4261
matrix:
4362
os: [ubuntu-latest, windows-latest, macos-latest]
63+
sdk: [stable, dev]
4464
steps:
4565
- uses: actions/checkout@v3
4666
- uses: dart-lang/setup-dart@v1
67+
with:
68+
sdk: ${{ matrix.sdk }}
4769
- uses: browser-actions/setup-chrome@v2
48-
- name: Print version
49-
run: dart --version
5070
- name: Install dependencies
51-
run: dart pub get
71+
run: dart --version && dart pub get
5272
- name: Run tests (VM)
5373
run: dart test --platform vm
54-
- name: Run tests (Chrome)
55-
run: dart test --platform chrome
74+
- name: Run tests (Chrome, JS)
75+
run: dart test --platform chrome --compiler dart2js
76+
- name: Run tests (Chrome, WASM)
77+
run: dart test --platform chrome --compiler dart2wasm

.github/workflows/publish.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Publish to pub.dev
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v[0-9]+.[0-9]+.[0-9]+'
7+
8+
jobs:
9+
publish:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
id-token: write
13+
uses: dart-lang/setup-dart/.github/workflows/publish.yml@v1
14+
with:
15+
environment: pub.dev

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# 2.3.1
2+
* Improves documentation.
3+
14
# 2.3.0
25
* Makes BrowserHttpClient WASM compatible by making it use "dart:js_interop" rather than "dart:html".
36
* Fixes various bugs.

dart_test.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
platforms: [ chrome, vm, node ]
2-
tags:
3-
ipv6:
1+
platforms: [ chrome, vm ]

lib/io.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,7 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15+
/// @nodoc
16+
library;
17+
1518
export 'universal_io.dart';

lib/src/_http_headers_impl.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ final class HttpHeadersImpl implements HttpHeaders {
6969
this.protocolVersion, {
7070
int defaultPortForScheme = HttpClient.defaultHttpPort,
7171
HttpHeadersImpl? initialHeaders,
72-
}) : _headers = HashMap<String, List<String>>(),
73-
_defaultPortForScheme = defaultPortForScheme {
72+
}) : _headers = HashMap<String, List<String>>(),
73+
_defaultPortForScheme = defaultPortForScheme {
7474
if (initialHeaders != null) {
7575
initialHeaders._headers.forEach((name, value) => _headers[name] = value);
7676
_contentLength = initialHeaders._contentLength;

lib/src/_io_sink_base.dart

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,15 @@ abstract mixin class IOSinkBase implements IOSink {
2424

2525
@override
2626
Future addStream(Stream<List<int>> stream) {
27-
return stream
28-
.listen(
29-
(data) {
30-
add(data);
31-
},
32-
onError: (error, stackTrace) {
33-
addError(error, stackTrace);
34-
},
35-
cancelOnError: true,
36-
)
37-
.asFuture();
27+
return stream.listen(
28+
(data) {
29+
add(data);
30+
},
31+
onError: (error, stackTrace) {
32+
addError(error, stackTrace);
33+
},
34+
cancelOnError: true,
35+
).asFuture();
3836
}
3937

4038
@override

lib/src/_xhr_http_client.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ final class XhrHttpClient extends BrowserHttpClient {
3939

4040
@override
4141
Future<bool> Function(String host, int port, String scheme, String realm)?
42-
authenticateProxy;
42+
authenticateProxy;
4343

4444
@override
4545
bool Function(X509Certificate cert, String host, int port)?
46-
badCertificateCallback;
46+
badCertificateCallback;
4747

4848
@override
4949
String Function(Uri url)? findProxy;
@@ -58,8 +58,7 @@ final class XhrHttpClient extends BrowserHttpClient {
5858
Uri url,
5959
String? proxyHost,
6060
int? proxyPort,
61-
)?
62-
f,
61+
)? f,
6362
) {
6463
// TODO: implement connectionFactory
6564
}

lib/src/_xhr_http_client_request.dart

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ final class XhrHttpClientRequest extends BrowserHttpClientRequest
7171

7272
@internal
7373
XhrHttpClientRequest(this.client, this.method, this.uri)
74-
: _supportsBody = _httpMethodSupportsBody(method) {
74+
: _supportsBody = _httpMethodSupportsBody(method) {
7575
// Add "User-Agent" header
7676
final userAgent = client.userAgent;
7777
if (userAgent != null) {
@@ -133,17 +133,15 @@ final class XhrHttpClientRequest extends BrowserHttpClientRequest
133133
@override
134134
Future<void> addStream(Stream<List<int>> stream) async {
135135
_checkAddRequirements();
136-
final future = stream
137-
.listen(
138-
(item) {
139-
_buffer.addAll(item);
140-
},
141-
onError: (error) {
142-
addError(error);
143-
},
144-
cancelOnError: true,
145-
)
146-
.asFuture(null);
136+
final future = stream.listen(
137+
(item) {
138+
_buffer.addAll(item);
139+
},
140+
onError: (error) {
141+
addError(error);
142+
},
143+
cancelOnError: true,
144+
).asFuture(null);
147145
_addStreamFuture = future;
148146
await future;
149147
_addStreamFuture = null;

lib/src/browser_http_client.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ abstract class BrowserHttpClient implements HttpClient {
3030
/// Enables you to set [BrowserHttpClientRequest.browserRequestType] before
3131
/// any _XHR_ request is sent to the server.
3232
FutureOr<void> Function(BrowserHttpClientRequest request)?
33-
onBrowserHttpClientRequestClose;
33+
onBrowserHttpClientRequestClose;
3434

3535
/// Enables [CORS "credentials mode"](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials)
3636
/// for all _XHR_ requests. Disabled by default.

0 commit comments

Comments
 (0)