Skip to content

Commit f18c993

Browse files
committed
merge main
2 parents 10ae4c4 + 668ac44 commit f18c993

File tree

2 files changed

+57
-16
lines changed

2 files changed

+57
-16
lines changed

.gitlab-ci.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# You can override the included template(s) by including variable overrides
2+
# SAST customization: https://docs.gitlab.com/ee/user/application_security/sast/#customizing-the-sast-settings
3+
# Secret Detection customization: https://docs.gitlab.com/ee/user/application_security/secret_detection/#customizing-settings
4+
# Dependency Scanning customization: https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#customizing-the-dependency-scanning-settings
5+
# Container Scanning customization: https://docs.gitlab.com/ee/user/application_security/container_scanning/#customizing-the-container-scanning-settings
6+
# Note that environment variables can be set in several places
7+
# See https://docs.gitlab.com/ee/ci/variables/#cicd-variable-precedence
8+
stages:
9+
- test
10+
sast:
11+
stage: test
12+
include:
13+
- template: Jobs/SAST.gitlab-ci.yml
14+
- template: Jobs/Secret-Detection.gitlab-ci.yml
15+
- template: Jobs/Dependency-Scanning.gitlab-ci.yml
16+
- template: Security/SAST.gitlab-ci.yml
17+
secret_detection:
18+
before_script:
19+
- cat .gitlab/gitleaks-custom-rules.toml >> /gitleaks.toml

RELEASE.md

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,56 @@
44

55
Releasing is a two-step process: (1) releasing on Github and test.pypi and (2) releasing to pypi. Releasing on Github will automatically trigger a release on test.pypi via a Github Action. Following manual confirmation of a successful and satisfactory release on test.pypi, release on pypi is triggered manually with the Github Action "Automatically Publish on TestPyPi". There is also an option to publish to test.pypi and pypi from your local machine.
66

7+
The first step in a release is determining if the release is a feature release or a maintenance release. A maintenance release is a backward compatible bug fix or documentation change, while a feature release adds functionality in a backward compatible manner.
8+
79
#### Release Naming Conventions
810

11+
This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html), which specifies a version number as MAJOR.MINOR.PATCH with a feature release mapped to a MINOR version and a maintenance release mapped to a PATCH.
12+
913
The following are the release naming conventions:
1014

1115
1. Current Dev Version is obtained from `planet/__version__.py`
16+
* For maintenance release, the format is `{MAJOR.MINOR.PATCH}dev`
17+
* For feature release, the format is `{MAJOR.MINOR}dev`
1218
3. Release Version: Remove `dev` from Current Dev Version
13-
4. Next Dev Version: Bumped version of last release with `dev` added to the end.
14-
* Bumped version number is determined by [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
19+
4. Next Dev Version: Bumped version of Release Version with `dev` added to the end.
20+
* For maintenance release, bump PATCH
21+
* For feature release, bump MINOR, do not specify PATCH
22+
5. Source branch:
23+
* For maintenance release, source branch is `maint-{MAJOR.MINOR}`
24+
* For feature release, source branch is the main branch, `main`
25+
26+
27+
##### Maintenance Release Example:
28+
29+
**IF** Current Dev Version == `1.1.1dev` **THEN**
30+
* Release Version: `1.1.1`
31+
* Next Dev Version: `1.1.2dev`
32+
* Source Branch: `maint-1.1`
1533

1634

17-
##### Example:
35+
##### Feature Release Example:
36+
37+
**IF** Current Dev Version == `1.2dev` **THEN**
38+
* Release Version: `1.2`
39+
* Next Dev Version: `1.3dev`
40+
* Source Branch: `main`
1841

19-
**IF** Current Dev Version == `1.0.0dev` **THEN**
20-
* Release Version: `1.0.0`
21-
* Next Dev Version: `1.0.1dev`
2242

2343
## Release Workflow
2444

2545
The release on Github and PyPi performed from a release branch while the release branch PR is in progress. After the releases, the version in the PR is updated before it is merged. Thus, the version in `main` is not the same as the version of the release.
2646

27-
*NOTE: This section refers to version names given in Release Naming Conventions section above.*
47+
*NOTE: This section refers to version and branch names given in Release Naming Conventions section above.*
2848

29-
1. Create a release branch named `release-{Release Version}`
30-
1. Make the following changes for the release
31-
* Update `CHANGES.txt` (**PROPOSAL**: change this to `docs/CHANGELOG.md`)
49+
1. Starting from the Source Branch, create a release branch named `release-{Release Version}`
50+
1. Make the following changes for the release:
51+
* Update `CHANGES.txt`, adhering to [Keep a Changelog](https://keepachangelog.com/)
3252
* Include added, changed, depricated or removed features and bug fixes.
33-
A list of merged PRs and their titles since the last release can be obtained with `git log $PREVIOUS_RELEASE_TAG..HEAD | awk '/Merge pull request/{print;getline;getline;print}`.
53+
A list of merged PRs and their titles since the last release can be obtained with `git log $PREVIOUS_RELEASE_TAG..HEAD | awk '/Merge pull request/{print;getline;getline;print}'`.
3454
* Sort according to importance
35-
* **PROPOSAL**: Adhere to [Keep a Changelog](https://keepachangelog.com/)
3655
* Update `planet/__version__.py` to Release Version
37-
1. Create a PR for the release branch (named after release branch, description is changelog entry), wait for CI to pass
56+
1. Create a PR for the release branch (named after release branch, description is changelog entry, base is Source Branch), wait for CI to pass
3857
1. Create a new github release:
3958
* Set Tag to Release Version
4059
* **!!!** Set Target to the release branch **!!!**
@@ -47,9 +66,10 @@ The release on Github and PyPi performed from a release branch while the release
4766
1. Push a commit to the PR updating `planet/__version__.py` to Next Dev Version
4867
1. Merge PR
4968
1. Announce the release through the following avenues:
50-
* *Planet Internal:* #python slack channel
69+
* *Planet Internal:* #python and #devrel slack channels
5170
* Changelog
52-
* Twitter
71+
1. Maintenace release only: Merge release tag into `main`
72+
5373

5474
### Local publishing
5575

@@ -62,7 +82,9 @@ then
6282
```console
6383
$ nox -s publish-pypi
6484
```
65-
this approach requires specifying the pypi/testpypi api token as the password at the prompt.
85+
86+
This approach requires specifying the pypi/testpypi api token as the password at the prompt.
87+
6688

6789
## Conda builds
6890

0 commit comments

Comments
 (0)