Skip to content

Commit 78a9d26

Browse files
authored
update CHANGELOG and bump version to 6.16.0 (#1844)
* Update CONTRIBUTING.md for new release process * update CHANGELOG and bump version to 6.16.0
1 parent 228b96b commit 78a9d26

File tree

3 files changed

+52
-54
lines changed

3 files changed

+52
-54
lines changed

CHANGELOG.asciidoc

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,12 @@ endif::[]
2929
//===== Bug fixes
3030
//
3131
32-
=== Unreleased
32+
[[release-notes-6.x]]
33+
=== Python Agent version 6.x
34+
35+
[[release-notes-6.16.0]]
36+
==== 6.16.0 - 2023-06-05
3337
34-
// Unreleased changes go here
35-
// When the next release happens, nest these changes under the "Python Agent version 6.x" heading
3638
[float]
3739
===== Features
3840
@@ -67,9 +69,6 @@ s3-prefix).
6769
* Fix instrumentation to not bubble up exceptions during instrumentation {pull}1791[#1791]
6870
* Fix HTTP transport to not print useless and confusing stack trace {pull}1809[#1809]
6971
70-
[[release-notes-6.x]]
71-
=== Python Agent version 6.x
72-
7372
[[release-notes-6.15.1]]
7473
==== 6.15.1 - 2023-03-06
7574

CONTRIBUTING.md

Lines changed: 46 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,22 @@ or that there are particular issues that you should know about before implementi
2525
Generally, we require that you test any code you are adding or modifying.
2626
Once your changes are ready to submit for review:
2727

28-
1. Sign the Contributor License Agreement
28+
1. Sign the Contributor License Agreement
2929

3030
Please make sure you have signed our [Contributor License Agreement](https://www.elastic.co/contributor-agreement/).
3131
We are not asking you to assign copyright to us,
3232
but to give us the right to distribute your code without restriction.
3333
We ask this of all contributors in order to assure our users of the origin and continuing existence of the code.
3434
You only need to sign the CLA once.
3535

36-
1. Code style
36+
1. Code style
3737

3838
This project uses several tools to maintain a consistent code style:
3939

40-
* the automatic code formatter [black](https://black.readthedocs.io/en/stable/)
41-
* sorting of imports via [isort](https://isort.readthedocs.io/en/latest/)
42-
* [flake8](http://flake8.pycqa.org/en/latest/)
43-
* License header check via custom script
40+
- the automatic code formatter [black](https://black.readthedocs.io/en/stable/)
41+
- sorting of imports via [isort](https://isort.readthedocs.io/en/latest/)
42+
- [flake8](http://flake8.pycqa.org/en/latest/)
43+
- License header check via custom script
4444

4545
The easiest way to make sure your pull request adheres to the code style
4646
is to install [pre-commit](https://pre-commit.com/).
@@ -49,20 +49,20 @@ Once your changes are ready to submit for review:
4949

5050
pre-commit install
5151

52-
1. Test your changes
52+
1. Test your changes
5353

5454
Run the test suite to make sure that nothing is broken.
5555
See [testing](#testing) for details. (Note, only unit tests are expected
5656
to be run before submitting a PR.)
5757

58-
1. Rebase your changes
58+
1. Rebase your changes
5959

6060
Update your local repository with the most recent code from the main repo,
6161
and rebase your branch on top of the latest main branch.
6262
When we merge your PR, we will squash all of your commits into a single
6363
commit on the main branch.
6464

65-
1. Submit a pull request
65+
1. Submit a pull request
6666

6767
Push your local changes to your forked copy of the repository and [submit a pull request](https://help.github.com/articles/using-pull-requests).
6868
In the pull request,
@@ -71,7 +71,7 @@ Once your changes are ready to submit for review:
7171
Also mention the number of the issue where discussion has taken place,
7272
eg "Closes #123".
7373

74-
1. Be patient
74+
1. Be patient
7575

7676
We might not be able to review your code as fast as we would like to,
7777
but we'll do our best to dedicate it the attention it deserves.
@@ -94,7 +94,6 @@ you need to install several databases (Elasticsearch, PostgreSQL, MySQL, Cassand
9494
This can be quite a hassle, so we recommend to use our dockerized test setup.
9595
See [Running tests](https://www.elastic.co/guide/en/apm/agent/python/main/run-tests-locally.html) for detailed instructions.
9696

97-
9897
#### Pytest
9998

10099
This project uses [pytest](https://docs.pytest.org/en/latest/) for all of its
@@ -114,56 +113,56 @@ we use a matrix build that leverages Docker and docker-compose.
114113
The setup requires a little bit of boilerplate to get started.
115114
In this example, we will create an instrumentation for the "foo" database, by instrumenting its Python driver, `foodriver`.
116115

117-
1. mark your tests with a pytest marker that describes the new instrumentation at the top of your tests file:
116+
1. mark your tests with a pytest marker that describes the new instrumentation at the top of your tests file:
118117

119-
pytestmark = pytest.mark.foo
118+
pytestmark = pytest.mark.foo
120119

121-
`pytestmark` can also be a list if you need to define more than one mark (e.g. to mark tests as integration tests):
120+
`pytestmark` can also be a list if you need to define more than one mark (e.g. to mark tests as integration tests):
122121

123-
pytestmark = [pytest.mark.foo, pytest.mark.integrationtest]
122+
pytestmark = [pytest.mark.foo, pytest.mark.integrationtest]
124123

125-
1. make sure to use `pytest.importorskip` to import any dependencies that are only required by your tests:
124+
1. make sure to use `pytest.importorskip` to import any dependencies that are only required by your tests:
126125

127-
foodriver = pytest.importorskip("foodriver")
126+
foodriver = pytest.importorskip("foodriver")
128127

129-
1. Create one or more requirements files in `tests/requirements` that list the dependencies that are to be installed specifically for your tests:
130-
To only test the newest version of the library, create a file `tests/requirements/reqs-foo-newest.txt` and add something like this to it:
128+
1. Create one or more requirements files in `tests/requirements` that list the dependencies that are to be installed specifically for your tests:
129+
To only test the newest version of the library, create a file `tests/requirements/reqs-foo-newest.txt` and add something like this to it:
131130

132-
foodriver
133-
-r reqs-base.txt
131+
foodriver
132+
-r reqs-base.txt
134133

135-
This tells the matrix runner to install the newest version of `foodriver`, as well as the base requirements needed to run the test suite.
136-
To test more than one version of the library, create additional `reqs-foo-X.Y.txt` files with specific versions of your instrumented package.
134+
This tells the matrix runner to install the newest version of `foodriver`, as well as the base requirements needed to run the test suite.
135+
To test more than one version of the library, create additional `reqs-foo-X.Y.txt` files with specific versions of your instrumented package.
137136

138-
1. Create a file called `foo.sh` in `tests/scripts/envs/foo.sh`.
139-
Here you can define environment variables that are required to run your tests.
140-
As a minimum, you'll have to set the `PYTEST_MARKER` variable to the same value you used above for the pytest marker, e.g.
137+
1. Create a file called `foo.sh` in `tests/scripts/envs/foo.sh`.
138+
Here you can define environment variables that are required to run your tests.
139+
As a minimum, you'll have to set the `PYTEST_MARKER` variable to the same value you used above for the pytest marker, e.g.
141140

142-
export PYTEST_MARKER="-m foo"
141+
export PYTEST_MARKER="-m foo"
143142

144-
1. Add entries in `.ci/matrix_framework.yml` (for pull requests) and `.ci/matrix_framework_full.yml` (for nightly builds).
145-
Generally, we only test the newest version of an instrumentation with every pull request:
143+
1. Add entries in `.ci/matrix_framework.yml` (for pull requests) and `.ci/matrix_framework_full.yml` (for nightly builds).
144+
Generally, we only test the newest version of an instrumentation with every pull request:
146145

147-
- foo-newest
146+
- foo-newest
148147

149-
To test other versions in the nightly build, add them to `.ci/matrix_framework_full.yml`.
148+
To test other versions in the nightly build, add them to `.ci/matrix_framework_full.yml`.
150149

151-
1. OPTIONAL: If you need a real service to test against (e.g. an actual foo database), add an entry in `tests/docker-compose.yml` under `services`:
150+
1. OPTIONAL: If you need a real service to test against (e.g. an actual foo database), add an entry in `tests/docker-compose.yml` under `services`:
152151

153-
foo:
154-
image: foobase:latest
152+
foo:
153+
image: foobase:latest
155154

156-
You'll also have to add a `DOCKER_DEPS` environment variable to `tests/scripts/envs/foo.sh` which tells the matrix
157-
to spin up the given docker-compose service before running your tests.
158-
You may also need to add things like hostname configuration here.
155+
You'll also have to add a `DOCKER_DEPS` environment variable to `tests/scripts/envs/foo.sh` which tells the matrix
156+
to spin up the given docker-compose service before running your tests.
157+
You may also need to add things like hostname configuration here.
159158

160-
DOCKER_DEPS="foo"
161-
FOO_CONNECTION_URL="http://foo:4711"
159+
DOCKER_DEPS="foo"
160+
FOO_CONNECTION_URL="http://foo:4711"
162161

163-
1. OPTIONAL: If your instrumented package does not support all Python versions we test with, you can exclude certain combinations by adding them to `.ci/matrix_exclude.yml`:
162+
1. OPTIONAL: If your instrumented package does not support all Python versions we test with, you can exclude certain combinations by adding them to `.ci/matrix_exclude.yml`:
164163

165-
- PYTHON_VERSION: python-3.5 # foo doesn't support Python 3.5
166-
FRAMEWORK: foo-newest
164+
- PYTHON_VERSION: python-3.5 # foo doesn't support Python 3.5
165+
FRAMEWORK: foo-newest
167166

168167
### Workflow
169168

@@ -181,15 +180,15 @@ If you have commit access, the process is as follows:
181180
1. Update `CHANGELOG.asciidoc`. Rename the `Unreleased` section to the correct version (`vX.X.X`), and nest under the appropriate sub-heading, e.g., `Python Agent version 5.x`.
182181
1. For Majors: [Create an issue](https://github.com/elastic/website-requests/issues/new) to request an update of the [EOL table](https://www.elastic.co/support/eol).
183182
1. For Majors: Add the new major version to `conf.yaml` in the [elastic/docs](https://github.com/elastic/docs) repo.
184-
1. Commit changes with message `update CHANGELOG and bump version to X.Y.Z` where `X.Y.Z` is the version in `elasticapm/version.py`
183+
1. Commit changes with message `update CHANGELOG and bump version to X.Y.Z`
184+
where `X.Y.Z` is the version in `elasticapm/version.py`
185+
1. Open a PR against `main` with these changes
186+
1. Once the PR is merged, fetch and checkout `upstream/main`
185187
1. Tag the commit with `git tag -a vX.Y.Z`, for example `git tag -a v1.2.3`.
186188
Copy the changelog for the release to the tag message, removing any leading `#`.
187189
1. Reset the current major branch (`1.x`, `2.x` etc) to point to the current main, e.g. `git branch -f 1.x main`
188-
1. Push commits and tags upstream with `git push upstream main && git push upstream --tags` (and optionally to your own fork as well)
190+
1. Push tag upstream with `git push upstream --tags` (and optionally to your own fork as well)
189191
1. Update major branch, e.g. `1.x` on upstream with `git push upstream 1.x`
190192
1. After tests pass, Jenkins will automatically build a source package, as well as binary wheels.
191-
To upload them to PyPI, go to [Jenkins](https://apm-ci.elastic.co/blue/organizations/jenkins/apm-agent-python%2Fapm-agent-python-mbp/activity)
192-
and look for the build with the correct tag name (`vX.Y.Z`). Once the build is done, a dialog will be shown.
193-
Note that you need to be logged in to trigger an upload.
194193
1. Create a [Github release](https://github.com/elastic/apm-agent-python/releases)
195194
targeting the new tag. Copy the changelog into the body of the release.

elasticapm/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@
2828
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2929
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3030

31-
__version__ = (6, 15, 1)
31+
__version__ = (6, 16, 0)
3232
VERSION = ".".join(map(str, __version__))

0 commit comments

Comments
 (0)