Skip to content

Commit

Permalink
Update docs and prompts for better dry-runs and no more versionizing …
Browse files Browse the repository at this point in the history
…docs
  • Loading branch information
Isaac Hollander McCreery committed Nov 2, 2015
1 parent bc9feec commit 3466762
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 12 deletions.
68 changes: 59 additions & 9 deletions docs/devel/releasing.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,12 +148,49 @@ then, run
release/cut-official-release.sh "${VER}" "${GITHASH}"
```

This will:
This will do a dry run of:

1. mark the `vX.Y.0-alpha.W` tag at the given git hash;
1. prompt you to do the remainder of the work, including building the
appropriate binaries and pushing them to the appropriate places.

If you're satisfied with the result, run

```console
release/cut-official-release.sh "${VER}" "${GITHASH}" --no-dry-run
```

and follow the instructions.

#### Cutting an beta release (`vX.Y.Z-beta.W`)

Figure out what version you're cutting, and

```console
export VER="vX.Y.Z-beta.W"
```

then, run

```console
release/cut-official-release.sh "${VER}" "${GITHASH}"
```

This will do a dry run of:

1. do a series of commits on the release branch for `vX.Y.Z-beta`;
1. mark the `vX.Y.Z-beta` tag at the beta version commit;
1. prompt you to do the remainder of the work, including building the
appropriate binaries and pushing them to the appropriate places.

If you're satisfied with the result, run

```console
release/cut-official-release.sh "${VER}" "${GITHASH}" --no-dry-run
```

and follow the instructions.

#### Cutting an official release (`vX.Y.Z`)

Figure out what version you're cutting, and
Expand All @@ -168,18 +205,24 @@ then, run
release/cut-official-release.sh "${VER}" "${GITHASH}"
```

This will:
This will do a dry run of:

1. do a series of commits on the branch for `vX.Y.Z`, including versionizing
the documentation and doing the release version commit;
1. do a series of commits on the branch for `vX.Y.Z`;
1. mark the `vX.Y.Z` tag at the release version commit;
1. do a series of commits on the branch for `vX.Y.(Z+1)-beta` on top of the
previous commits, including versionizing the documentation and doing the
beta version commit;
previous commits;
1. mark the `vX.Y.(Z+1)-beta` tag at the beta version commit;
1. prompt you to do the remainder of the work, including building the
appropriate binaries and pushing them to the appropriate places.

If you're satisfied with the result, run

```console
release/cut-official-release.sh "${VER}" "${GITHASH}" --no-dry-run
```

and follow the instructions.

#### Branching a new release series (`vX.Y`)

Once again, **this is a big deal!** If you're reading this doc for the first
Expand All @@ -198,16 +241,23 @@ then, run
release/cut-official-release.sh "${VER}" "${GITHASH}"
```

This will:
This will do a dry run of:

1. mark the `vX.(Y+1).0-alpha.0` tag at the given git hash on `master`;
1. fork a new branch `release-X.Y` off of `master` at the given git hash;
1. do a series of commits on the branch for `vX.Y.0-beta`, including versionizing
the documentation and doing the release version commit;
1. do a series of commits on the branch for `vX.Y.0-beta`;
1. mark the `vX.Y.0-beta` tag at the beta version commit;
1. prompt you to do the remainder of the work, including building the
appropriate binaries and pushing them to the appropriate places.

If you're satisfied with the result, run

```console
release/cut-official-release.sh "${VER}" "${GITHASH}" --no-dry-run
```

and follow the instructions.

### Publishing binaries and release notes

The script you ran above will prompt you to take any remaining steps, including
Expand Down
13 changes: 10 additions & 3 deletions release/cut-official-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,20 @@ function main() {
local -r release_umask=${release_umask:-022}
umask "${release_umask}"

local -r github="https://github.com/kubernetes/kubernetes.git"
declare -r DIR="/tmp/kubernetes-${release_type}-release-${new_version}-$(date +%s)"

# Start a tmp file that will hold instructions for the user.
declare -r INSTRUCTIONS="/tmp/kubernetes-${release_type}-release-${new_version}-$(date +%s)-instructions"
if $DRY_RUN; then
cat > "${INSTRUCTIONS}" <<- EOM
Success! You would now do the following, if not a dry run:
Success on dry run! Do
pushd ${DIR}
to see what happened.
You would now do the following, if not a dry run:
EOM
else
Expand All @@ -107,8 +116,6 @@ Success! You must now do the following:
EOM
fi

local -r github="https://github.com/kubernetes/kubernetes.git"
declare -r DIR="/tmp/kubernetes-${release_type}-release-${new_version}-$(date +%s)"
echo "Cloning from '${github}'..."
git clone "${github}" "${DIR}"

Expand Down

0 comments on commit 3466762

Please sign in to comment.