Release Management
CSLE has semantic versioning, i.e., versions of CSLE are of the form MAJOR.MINOR.PATCH
.
- The
MAJOR
version is incremented when incompatible API changes are made. - The
MINOR
version is incremented new functionality is added in a backwards compatible manner. - The
PATCH
version is incremented when backwards compatible bug fixes are made.
To generate a new release of CSLE, the following steps must be performed:
- Publish new versions of the Python libraries to: https://pypi.org/.
- Publish new versions of the Docker containers to: https://hub.docker.com/.
- Publish a new version of the documentation to: http://limmen.dev/csle.
- Make a GitHub release with all artifacts (https://github.com/Limmen/csle).
Python releases. To make a new Python release, do the following:
- Copy the
csle/simulation_system/libs/.pypirc_template
file to your home directory and rename it to.pypirc
, e.g.,/home/kim/.pypirc
. - Create a PyPi token following the intructions here.
- Add the PyPi token to the
.pypirc
file. - Edit the
RELEASE_CONFIG
variable to match the versions of the release in the file:./simulation-system/libs/make_release.py
- Run the command below to build all the Python libraries and push the built artifacts to PyPi:
python ./simulation-system/libs/make_release.py
Documentation releases. After making a new Python release, the new API documentation can be generated by running the command:
simulation-system/libs/generate_docs.sh
Docker releases. To make a new Docker release, do the following:
- Edit the
VERSION
variable in the file:./emulation-system/base_images/Makefile
- Edit the
VERSION
variable in the file:./emulation-system/derived_images/Makefile
- Edit the versions of the derived images in the Dockerfiles inside the following directory:
./emulation-system/derived_images/
- Edit the versions of the base images in the Dockerfiles inside the following directory:
./emulation-system/base_images/
- Edit the version parameters in all emulation configurations in the following directory:
./emulation-system/envs
- Make a new release of
https://github.com/Limmen/exploit-CVE-2017-7494
:- Clone the repo by runnign the command:
git clone https://github.com/Limmen/exploit-CVE-2017-7494
- Update the version parameter in
exploit-CVE-2017-7494/Makefile
- Build:
cd exploit-CVE-2017-7494; make build
- Push:
cd exploit-CVE-2017-7494; make push
- Clone the repo by runnign the command:
- Build the images by running the command:
cd emulation-system/; make build
- Push the images to DockerHub by running the command:
cd emulation-system/; make push
- Insert the new emulation configuration into the metastore by running the command:
cd emulation-system/; make emulations
GitHub releases. To make a release in GitHub, follow the official guide.
- Previous
- Next