File: release

package info (click to toggle)
rust-assert-json-diff 2.0.2-7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 172 kB
  • sloc: sh: 42; makefile: 2
file content (54 lines) | stat: -rwxr-xr-x 1,122 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash
set -e

confirm() {
  while true; do
    read -p "$1? Please double check. y/n? " yn
    case $yn in
      [Yy]* ) break;;
      [Nn]* ) exit 1;;
      * ) echo "Please answer yes or no.";;
    esac
  done
}

cargo fmt --all -- --check
echo "✔ code formatting looks good!"

cargo check
echo "✔ types look good"

cargo readme > README.md
echo "✔ README.md compiled"

cargo test > /dev/null
echo "✔ tests are passing"

confirm "Updated Cargo.toml"
confirm "Updated CHANGELOG.md"

version="$1"
version_without_v="`sed \"s/v//g\" <(echo $version)`"

if (echo $version | egrep "v\d+\.\d+\.\d+" > /dev/null)
then
  confirm "Ready to release $version (as $version_without_v)?"
else
  echo "Invalid version number: $1"
  exit 1
fi

version_in_toml=$(cat Cargo.toml | egrep "^version = \"$version_without_v\"")

if [[ "$version_in_toml" == "version = \"$version_without_v\"" ]]
then
  true
else
  echo "Cargo.toml isn't set to version $version_without_v"
fi

GIT_COMMITTER_DATE=$(git log -n1 --pretty=%aD) git tag -a -m "Release $version" $version
git push --tags

cargo publish --dry-run
cargo publish || true