Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release manager/maintainer doc changes needed for nightly builds #56

Merged
merged 1 commit into from
Jun 26, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
33 changes: 20 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,31 @@ make install-deps
make fetch-wheels
```

## Make a release
## Updating Python wheels

Maintainers of `securedrop-client` and `securedrop-proxy` must ensure that
the requirements files which are used for build of these packages (`build-requirements.txt`)
using `make requirements` are kept up to date in latest `master` of those repositories.

If new dependencies were added in the `requirements.txt` of that
repo that are not in the FPF PyPI mirror, then the maintainer needs
to:

Release managers of `securedrop-client` and `securedrop-proxy` must update
the requirements files which are used for build of these packages using
`make requirements`. If new dependencies were added in the `requirements.txt` of that
repo that are not in the FPF PyPI mirror, then the release manager needs
to build those wheels and push the tarball and wheel package of the new
dependency to the FPF PyPI mirror using `make build-wheels`.
1. Build those wheels using `make build-wheels`
2. Push the tarball and wheel package of the new
dependency to the FPF PyPI mirror using the steps described [here](https://github.com/freedomofpress/securedrop-debian-packaging-guide/issues/6).
3. Make a PR updating the shasums and signature in this repository.
4. Once this is done, `make requirements` can be used to update `build-requirements.txt`
in the repository to be packaged.

## Make a release

Summarizing release manager steps:

1. Update versions as necessary
2. `make requirements`
3. Do a test build following steps below
4. Make any changes as necessary and create a PR with the modifications from steps 1-4
5. Push the release tag for use in building

This means that the `build-requirements.txt` files will be updated by release managers, not developers. Developers should update `requirements.txt`.
2. Do a test build following steps below
3. Make any changes as necessary and create a PR into the repository to be packaged with the modifications from steps 1-3
4. Push the release tag for use in building

## Build a package

Expand Down