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

ooniprobe-cli v3.24 release process #2813

Open
37 tasks
DecFox opened this issue Oct 28, 2024 · 0 comments
Open
37 tasks

ooniprobe-cli v3.24 release process #2813

DecFox opened this issue Oct 28, 2024 · 0 comments

Comments

@DecFox
Copy link
Collaborator

DecFox commented Oct 28, 2024

Release information

Version Number: 3.24.0

Expected Release date: Nov 13, 2024

Summary of changes:

  • changes to enable echcheck and reduce dnscheck inputs
  • changes to enable system resolver for dnscheck
  • some improvements in the openvpn experiment
  • bug fixes for oonimkall and psiphon tunnel
  • general improvements to the engine and cli
  • maintenance changes

Link to latest nightly: https://github.com/ooni/probe-cli/releases/tag/rolling

Release checklist

For extended documentation about the process, see probe-cli's releasing.md.

Psiphon

  • probe-cli: pin to the latest staging-client commit using ./script/go.bash get -u -v
  • probe-cli: make sure ./script/go.bash list -json ./cmd/ooniprobe does not include any pinned package in psiphon's go.mod or otherwise ask Psiphon developers whether this is fine

Go version

  • oocrypto: merge with upstream if needed
  • oohttp: merge with upstream if needed
  • probe-cli: possibly update .github/workflows/gobash.yml
  • probe-cli: update the GOVERSION file if needed
  • probe-cli: update the toolchain line inside of go.mod
  • probe-cli: update the Go version mentioned in the Readme.md file
  • probe-cli: update version specified in TH's Makefile

Android

  • probe-cli: update NDKVERSION, and MOBILE/android/ensure if needed

Dependencies other than Psiphon

  • probe-cli: ensure no dependency bumped its major version number using https://github.com/icholy/gomajor
  • probe-cli: update dependencies with ./script/go.bash get -u -v -d ./...
  • probe-cli: update C dependencies

Updating assets and definitions

  • probe-cli: run ./script/updateminipipeline.bash
  • probe-cli: update github.com/ooni/probe-assets dependency
  • probe-cli: update bundled certs (using ./script/go.bash generate ./...)
  • probe-cli: update user-agent at internal/model/http.go

Maintenance

  • probe-cli: sync stunreachability targets with snowflake (see ./internal/stuninput)
  • probe-cli: take a look at go report card
  • probe-cli: address any outstanding TODO in the diff since last release (or create an issue for it)
  • probe-cli: try to address all the issues marked as "releaseBlocker"
  • all: check whether to update the release documentation

QA and alpha releasing

  • probe-cli: check warnings emitted by gosec runs
  • probe-cli: ./script/go.bash test -race -count 1 ./... must pass locally
  • probe-cli: tag an alpha release
  • probe-cli: create the release/X.Y branch
  • probe-cli: make sure all workflows are green in the release/X.Y branch
  • team: communicate availability of an alpha release

Releasing proper

  • probe-cli: update internal/version/version.go in release/X.Y to be a stable release
  • probe-cli: tag a new stable version in the release/X.Y branch
  • probe-cli: update internal/version/version.go in master branch to be the next alpha

Publishing stable packages

  • probe-engine: run ./script/autoexport.bash
  • debian: publish packages
  • android: publish packages
  • oohelperd: publish docker container

Post-release communication

  • iThena: notify about new release
  • Update the #ooni-probe-releases slack channel:

@here 🚀 🏎️ OONI Probe Engine v[VERSION_NUMBER] has been released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants