Skip to content

Commit b3b04a0

Browse files
committed
updated release process documentation
1 parent 1421206 commit b3b04a0

1 file changed

Lines changed: 24 additions & 28 deletions

File tree

docs/release.md

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@ git tag --delete v<x.y.z>
105105
git push --delete origin v<x.y.z>
106106
```
107107

108+
Once a release is completed, make sure to close all the [GitHub Issues](https://github.com/WebFuzzing/EvoMaster/issues) that were marked with '__FIXED in SNAPSHOT__'.
109+
108110
## GitHub Release (OLD MANUAL VERSION)
109111

110112
Push the version changes in the `pom.xml` files on Git.
@@ -137,42 +139,36 @@ py version.py 0.4.1-SNAPSHOT
137139

138140

139141

140-
## EMB Release
142+
## WFD Release
141143

142-
After completing the release of a new version of `EvoMaster`, you need to make a new
143-
release for [https://github.com/WebFuzzing/EMB](https://github.com/WebFuzzing/EMB) as well.
144-
The two repositories __MUST__ have their version numbers aligned.
144+
After completing the release of a new version of `EvoMaster`, you might, or might not, need to make a new
145+
release for [https://github.com/WebFuzzing/Dataset](https://github.com/WebFuzzing/Dataset) as well.
146+
Changes in EM only impact _white-box_ settings, and __NOT__ the _black-box_ ones.
147+
Ideally, should make a new WFD release, but, if not, still need to update snapshot EM version in the _develop_ branch:
145148

146-
You need to update all `pom.xml` files with the same:
147-
```
148-
mvn versions:set -DnewVersion=x.y.z
149-
```
149+
`python3 scripts/version.py em <VERSION>`
150+
151+
If you are making a new release for WFD, need to update its version as well:
152+
153+
`python3 scripts/version.py wfd <VERSION>`
150154

151-
However, there are some other places in which the version number needs to be updated as well:
155+
Note: no longer WFD is aligned with EM.
156+
Versions number will be usually different.
152157

153-
* in the `<evomaster-version>` variable in the root `pom.xml` project file.
154-
* in the `EVOMASTER_VERSION` variable in the `scripts/dist.py` script file.
155-
* in all the case study `pom.xml` files where the `evomaster-client-database-spy`
156-
dependency is used (until we automate this task with a script, you will need to search
157-
for those dependencies manually from your IDE).
158+
On `develop` branch, versions should always be `-SNAPSHOT`.
159+
On `master` they will be release versions.
160+
The `master` branch should always point to last commit of latest release, and no SNAPSHOT.
158161

159-
To simplify all these previous steps, you can simply run `./scripts/version.py`.
160162

161-
Once those changes are pushed, create a new [release](https://github.com/WebFuzzing/EMB/releases)
162-
on GitHub.
163-
Tag it with the same version as `EvoMaster`, but no need to attach/upload any file.
164163

165-
After this is done, update to a new SNAPSHOT version, by replacing __ALL__ the
166-
occurrences of the release version in the project (e.g., all `pom.xml` and
167-
`dist.py` files) by using `./scripts/version.py`.
168-
However, before doing this, it can be good to test the non-SNAPSHOT version of _EvoMaster_.
169-
The reasoning is to force the downloading of all the dependencies from Maven Central,
170-
to check if anything is missing.
171-
And this is why it was important to build the non-SNAPSHOT with `package` instead of `install`.
164+
To make a new release for WFD, you then need to do:
165+
1. in `develop` branch, use `version.py` to set new release versions for both `em` and `wfd`.
166+
2. push `develop`.
167+
3. switch `master`, pull from `develop`, and push.
168+
4. on GitHub, manually make new release, with tag matching release version of `wfd`.
169+
5. switch to `develop`, and use `version.py` to make new `-SNAPSHOT` versions, for `em` and `wfd`.
170+
6. push `develop`.
172171

173-
Note: the change to the version number for new release needs to be done (and pushed) on the `develop` branch. Then, `master` has to pull from `develop`, and push it.
174-
Once the release (from `master` branch) is done on GitHub, switch back to `develop`, and push the new SNAPSHOT update.
175-
In other words, `master` branch should always point to last commit of latest release, and no SNAPSHOT.
176172

177173
## Example Update
178174

0 commit comments

Comments
 (0)