Skip to content

Commit e842cda

Browse files
authored
chore: v0.5.0 (#63)
* chore: v0.5.0 * ci: add pub_publish
1 parent 387485f commit e842cda

File tree

4 files changed

+101
-1
lines changed

4 files changed

+101
-1
lines changed

.github/workflows/pub_publish.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: pub_publish
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v[0-9]+.[0-9]+.[0-9]+*'
7+
8+
jobs:
9+
publish:
10+
permissions:
11+
id-token: write # Required for authentication using OIDC
12+
uses: dart-lang/setup-dart/.github/workflows/publish.yml@v1

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 0.5.0
2+
3+
- chore: tighten dependencies ([#62](https://github.com/VeryGoodOpenSource/pub_updater/pull/62))
4+
15
# 0.4.0
26

37
- fix!: activation of package on self-hosted url ([#46](https://github.com/VeryGoodOpenSource/pub_updater/pull/46))

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: pub_updater
22
description: A Dart package which enables checking whether a package is up to date.
3-
version: 0.4.0
3+
version: 0.5.0
44
repository: https://github.com/VeryGoodOpenSource/pub_updater
55
issue_tracker: https://github.com/VeryGoodOpenSource/pub_updater/issues
66
topics: [cli, pub, version]

tool/release_ready.sh

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
#!/bin/bash
2+
3+
# Ensures that the package is ready for a release.
4+
#
5+
# Will update the version.dart file and update the CHANGELOG.md.
6+
#
7+
# Set it up for a new version:
8+
# `sh tool/release_ready.sh <version>`
9+
10+
# Check if current directory is usable for this script, if so we assume it is correctly set up.
11+
if [ ! -f "pubspec.yaml" ]; then
12+
echo "$(pwd) is not a valid Dart package."
13+
exit 1
14+
fi
15+
16+
currentBranch=$(git symbolic-ref --short -q HEAD)
17+
if [[ ! $currentBranch == "main" ]]; then
18+
echo "Releasing is only supported on the main branch."
19+
exit 1
20+
fi
21+
22+
# Get information
23+
old_version=""
24+
if [ -f "pubspec.yaml" ]; then
25+
old_version=$(dart pub deps --json | pcregrep -o1 -i '"version": "(.*?)"' | head -1)
26+
fi
27+
28+
if [ -z "$old_version" ]; then
29+
echo "Current version was not resolved."
30+
exit 1
31+
fi
32+
33+
# Get new version
34+
new_version="$1";
35+
36+
if [[ "$new_version" == "" ]]; then
37+
echo "No new version supplied, please provide one"
38+
exit 1
39+
fi
40+
41+
if [[ "$new_version" == "$old_version" ]]; then
42+
echo "Current version is $old_version, can't update."
43+
exit 1
44+
fi
45+
46+
# Retrieving all the commits in the current directory since the last tag.
47+
previousTag="v${old_version}"
48+
raw_commits="$(git log --pretty=format:"%s" --no-merges --reverse $previousTag..HEAD -- .)"
49+
markdown_commits=$(echo "$raw_commits" | sed -En "s/\(#([0-9]+)\)/([#\1](https:\/\/github.com\/VeryGoodOpenSource\/pub_updater\/pull\/\1))/p")
50+
51+
if [[ "$markdown_commits" == "" ]]; then
52+
echo "No commits since last tag, can't update."
53+
exit 0
54+
fi
55+
commits=$(echo "$markdown_commits" | sed -En "s/^/- /p")
56+
57+
echo "Updating version to $new_version"
58+
if [ -f "pubspec.yaml" ]; then
59+
sed -i '' "s/version: $old_version/version: $new_version/g" pubspec.yaml
60+
fi
61+
62+
# Update dart file with new version.
63+
dart run build_runner build --delete-conflicting-outputs > /dev/null
64+
65+
if grep -q v$new_version "CHANGELOG.md"; then
66+
echo "CHANGELOG already contains version $new_version."
67+
exit 1
68+
fi
69+
70+
# Add a new version entry with the found commits to the CHANGELOG.md.
71+
echo "# ${new_version} \n\n ${commits}\n\n$(cat CHANGELOG.md)" > CHANGELOG.md
72+
echo "CHANGELOG generated, validate entries here: $(pwd)/CHANGELOG.md"
73+
74+
echo "Creating git branch for pub_updater@$new_version"
75+
git checkout -b "chore/$new_version" > /dev/null
76+
77+
git add pubspec.yaml CHANGELOG.md
78+
if [ -f lib/src/version.dart ]; then
79+
git add lib/src/version.dart
80+
fi
81+
82+
echo ""
83+
echo "Run the following command if you wish to commit the changes:"
84+
echo "git commit -m \"chore: v$new_version\""

0 commit comments

Comments
 (0)