improve support for '-dev' and '-wip' package versions (#173)
* improve support for '-dev' and '-wip' package versions
* update the workflow files
* try out a -dev version
* rev to a stable version
diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml
index e27ead4..f5a7931 100644
--- a/.github/workflows/publish.yaml
+++ b/.github/workflows/publish.yaml
@@ -10,7 +10,7 @@
# branches: [ main ]
# types: [opened, synchronize, reopened, labeled, unlabeled]
# push:
-# tags: [ 'v[0-9]+.[0-9]+.[0-9]+' ]
+# tags: [ 'v[0-9]+.[0-9]+.[0-9]+*' ]
# jobs:
# publish:
# uses: dart-lang/ecosystem/.github/workflows/publish.yml@main
diff --git a/.github/workflows/publish_internal.yaml b/.github/workflows/publish_internal.yaml
index 341cbf6..e0c8148 100644
--- a/.github/workflows/publish_internal.yaml
+++ b/.github/workflows/publish_internal.yaml
@@ -10,7 +10,7 @@
branches: [ main ]
types: [opened, synchronize, reopened, labeled, unlabeled]
push:
- tags: [ '[A-z]+-v[0-9]+.[0-9]+.[0-9]+' ]
+ tags: [ '[A-z]+-v[0-9]+.[0-9]+.[0-9]+*' ]
env:
use-flutter: false
diff --git a/pkgs/firehose/CHANGELOG.md b/pkgs/firehose/CHANGELOG.md
index 2b2ccb4..f3d87b9 100644
--- a/pkgs/firehose/CHANGELOG.md
+++ b/pkgs/firehose/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.3.30
+
+- Improve support for `-dev` and `-wip` package versions.
+
## 0.3.29
- Fix an issue rendering longer changelogs (#170).
diff --git a/pkgs/firehose/lib/firehose.dart b/pkgs/firehose/lib/firehose.dart
index 4091a64..c6dfb44 100644
--- a/pkgs/firehose/lib/firehose.dart
+++ b/pkgs/firehose/lib/firehose.dart
@@ -138,11 +138,8 @@
var result = Result.info(package, 'already published at pub.dev');
print(result);
results.addResult(result);
- } else if (package.pubspec.version!.isPreRelease) {
- var result = Result.info(
- package,
- 'pre-release version (no publish necessary)',
- );
+ } else if (package.pubspec.version!.wip) {
+ var result = Result.info(package, 'WIP (no publish necessary)');
print(result);
results.addResult(result);
} else {
diff --git a/pkgs/firehose/lib/src/pub.dart b/pkgs/firehose/lib/src/pub.dart
index 1c319f5..9b875df 100644
--- a/pkgs/firehose/lib/src/pub.dart
+++ b/pkgs/firehose/lib/src/pub.dart
@@ -5,6 +5,7 @@
import 'dart:convert';
import 'package:http/http.dart' as http;
+import 'package:pub_semver/pub_semver.dart';
class Pub {
http.Client? _httpClient;
@@ -29,3 +30,9 @@
_httpClient?.close();
}
}
+
+extension VersionExtension on Version {
+ bool get wip {
+ return isPreRelease && preRelease.length == 1 && preRelease.first == 'wip';
+ }
+}
diff --git a/pkgs/firehose/pubspec.yaml b/pkgs/firehose/pubspec.yaml
index 1150a37..3f16ad1 100644
--- a/pkgs/firehose/pubspec.yaml
+++ b/pkgs/firehose/pubspec.yaml
@@ -1,6 +1,6 @@
name: firehose
description: A tool to automate publishing of Pub packages from GitHub actions.
-version: 0.3.29
+version: 0.3.30
repository: https://github.com/dart-lang/ecosystem/tree/main/pkgs/firehose
environment:
diff --git a/pkgs/firehose/test/pub_test.dart b/pkgs/firehose/test/pub_test.dart
index f99a3fd..f574ca0 100644
--- a/pkgs/firehose/test/pub_test.dart
+++ b/pkgs/firehose/test/pub_test.dart
@@ -5,6 +5,7 @@
library;
import 'package:firehose/src/pub.dart';
+import 'package:pub_semver/pub_semver.dart';
import 'package:test/test.dart';
void main() {
@@ -35,4 +36,21 @@
expect(result, false);
});
});
+
+ group('VersionExtension', () {
+ test('wip no pre-release', () async {
+ final version = Version.parse('1.2.3');
+ expect(version.wip, false);
+ });
+
+ test('wip pre-release', () async {
+ final version = Version.parse('1.2.3-dev');
+ expect(version.wip, false);
+ });
+
+ test('wip pre-release wip', () async {
+ final version = Version.parse('1.2.3-wip');
+ expect(version.wip, true);
+ });
+ });
}