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.22 release process #2722

Closed
37 tasks done
bassosimone opened this issue Apr 30, 2024 · 0 comments
Closed
37 tasks done

ooniprobe-cli v3.22 release process #2722

bassosimone opened this issue Apr 30, 2024 · 0 comments
Assignees

Comments

@bassosimone
Copy link
Contributor

bassosimone commented Apr 30, 2024

Release information

Fill out this information for each release:

Version Number: 3.22.0

Expected Release date: May 22, 2023

Summary of changes:

  • readiness for A/B testing Web Connectivity v0.4 and v0.5
  • improvements in dialing with bridges
  • dependencies upgrades and minor bug fixes

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

Pre-release communication

  • Post this message in the #ooni-probe-releases slack channel:

@here 🏎️ OONI Probe Engine v[VERSION_NUMBER] release work has begun

Expected release date: [INSERT DATE] + or - x days

Summary of changes: [INSERT LINK TO PR or CHANGESET]

Tracking issue: [INSERT LINK TO ISSUE]

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: already there, no changes needed
  • 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: same as before, so we should be fine

Go version

Android

Dependencies other than Psiphon

Updating assets and definitions

Maintenance

QA and alpha releasing

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: chore: we're now hacking on v3.23.0-alpha probe-cli#1607

Publishing stable packages

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.

@bassosimone bassosimone self-assigned this Apr 30, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 13, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 13, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 13, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 13, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 13, 2024
I have used gomajor and upgraded what I could.

It still seems impossible to upgrade snowflake because there is the
issue of the shared refraction-networking/utls dependency.

See ooni/probe#2722
bassosimone added a commit to ooni/probe-cli that referenced this issue May 13, 2024
I've used both `gomajor` and `go get -u -v ./...` to update all the
dependencies I could.

It still feels impossible to upgrade snowflake because of the
incompatible dependency with Psiphon (I previously described this issue
at refraction-networking/utls#249 and there
has been some very useful and much appreciated follow-up discussion at
refraction-networking/utls#290, which possibly
will lead to solving the whole issue, which is contingent to current
uTLS versions used by Psiphon and Snowflake, in a systemic and more
fundamental way).

Part of ooni/probe#2722.
bassosimone added a commit to ooni/probe-cli that referenced this issue May 13, 2024
bassosimone added a commit to ooni/probe-assets that referenced this issue May 13, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 13, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 13, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 14, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 14, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 14, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 14, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 14, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 14, 2024
With this change, we finish addressing all the `gosec` warnings that, on
paper, looked relatively easy to fix. The remaining warnings need more
thinking to be either dismissed or addressed properly.

Part of ooni/probe#2722
bassosimone added a commit to ooni/probe-cli that referenced this issue May 15, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 15, 2024
bassosimone added a commit to ooni/probe-cli that referenced this issue May 17, 2024
I manually tested the cli and concluded that it's too easy to
reach the panic caused by runtimex.Try0 over there and it would
expose panics to users too frequently.

Let's just convert those into normal error checks. Here is
what we would previously get:

```
% ./ooniprobe rm
? Are you sure you wish to delete the result #0  [Use arrows to move, type to filter]
  true
> false
panic: Try0: interrupt

[...]
```

So, here I just pressed ^D and got a panic. Ouch!

After the diff, we have this:

```
% ./ooniprobe rm
? Are you sure you wish to delete the result #0 false
   ⨯ failure in main command   error=canceled by user
```

and:

```
% ./ooniprobe rm --all
? Are you sure you wish to delete ALL results false
   ⨯ failure in main command   error=canceled by user
```

It seems much better, isn't it?

Part of the QA for ooni/probe#2722
bassosimone added a commit to ooni/probe-cli that referenced this issue May 17, 2024
I manually tested the cli and concluded that it's too easy to reach the
panic caused by runtimex.Try0 over there and it would expose panics to
users too frequently.

Let's just convert those into normal error checks. Here is what we would
previously get:

```
% ./ooniprobe rm
? Are you sure you wish to delete the result #0  [Use arrows to move, type to filter]
  true
> false
panic: Try0: interrupt

[...]
```

So, here I just pressed ^D and got a panic. Ouch!

After the diff, we have this:

```
% ./ooniprobe rm
? Are you sure you wish to delete the result #0 false
   ⨯ failure in main command   error=canceled by user
```

and:

```
% ./ooniprobe rm --all
? Are you sure you wish to delete ALL results false
   ⨯ failure in main command   error=canceled by user
```

It seems much better, isn't it?

Part of the QA for ooni/probe#2722
bassosimone added a commit to ooni/probe-cli that referenced this issue May 17, 2024
I manually tested the cli and concluded that it's too easy to reach the
panic caused by runtimex.Try0 over there and it would expose panics to
users too frequently.

Let's just convert those into normal error checks. Here is what we would
previously get:

```
% ./ooniprobe rm
? Are you sure you wish to delete the result #0  [Use arrows to move, type to filter]
  true
> false
panic: Try0: interrupt

[...]
```

So, here I just pressed ^D and got a panic. Ouch!

After the diff, we have this:

```
% ./ooniprobe rm
? Are you sure you wish to delete the result #0 false
   ⨯ failure in main command   error=canceled by user
```

and:

```
% ./ooniprobe rm --all
? Are you sure you wish to delete ALL results false
   ⨯ failure in main command   error=canceled by user
```

It seems much better, isn't it?

Part of the QA for ooni/probe#2722
bassosimone added a commit to ooni/probe-engine that referenced this issue May 20, 2024
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

1 participant