Skip to content

Commit

Permalink
Merge pull request #924 from carver/flamingo
Browse files Browse the repository at this point in the history
Batch of flamingo updates for the week
  • Loading branch information
carver authored Sep 25, 2023
2 parents 20e6693 + 41fdc28 commit 1ad0a74
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 59 deletions.
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ jobs:
test:
description: |
Run tests.
resource_class: xlarge
resource_class: 2xlarge
executor:
name: rust/default
tag: 1.71.1
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ jobs:
steps:
- uses: actions/stale@v5
with:
close-issue-reason: "not_planned"
days-before-issue-stale: 42
days-before-issue-close: 14
stale-issue-label: "stale"
Expand Down
1 change: 1 addition & 0 deletions book/src/developers/contributing/releases/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ This step directs Ansible to use the current master version of trin. Read [about
- Check monitoring tools to understand network health, and compare against post-deployment, eg~
- [Glados](http://glados.ethportal.net/content/)
- [Grafana](https://trin-bench.ethdevops.io/d/e23mBdEVk/trin-metrics?orgId=1)
- Activate the virtual environment in the cluster repo: `. venv/bin/activate`
- Go into Portal section of Ansible: `cd portal-network/trin/ansible/`
- Run the deployment: `ansible-playbook playbook.yml --tags trin`
- Wait for completion
Expand Down
42 changes: 3 additions & 39 deletions book/src/developers/contributing/releases/prerelease_checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,42 +4,6 @@ Before running a release, follow these steps.

## Communicate

At least one day before the release, announce in chat that you'll be running it.

There may be an emergency scenario that requires a shorter time frame, but at
least one other person on the team should agree with you.

## Update dependencies

- Use `cargo outdated` (and maybe `cargo outdated --aggressive`) to identify any old dependencies.
- Post a PR updating any old dependencies
- If *only* the Cargo.lock changes, then you can merge without a review, after CI turns green.

## Run portal-hive

New releases should not cause regressions in portal-hive. Run it locally
against master and compare it against the [daily portal-hive
results](https://portal-hive.ethdevops.io/).

If there is a regression, pause the release, and announce it in chat. Fixing
the regression is the new priority.

## Generate release notes

**Prerequisite**: Release notes are generated with
[towncrier](https://pypi.org/project/towncrier/). Ensure to have `towncrier`
installed and the command is available.

Run `make notes version=<version>` where `<version>` is the version we are
generating the release notes for e.g. `0.2.0-alpha.3`.

Example:

```sh
make notes version=0.2.0-alpha.3
```

Examine the generated release notes and if needed perform and commit any manual changes.
Generated notes are located in `/docs/release_notes.md`.

Update the release notes using the normal PR process: post it, get a review & merge.
Announce in #trin chat the upcoming release. Aim for a day or more notice, but
announcing a few minutes before releasing is still better than not saying
anything.
23 changes: 6 additions & 17 deletions book/src/developers/contributing/releases/release_checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,12 @@ Make sure that version follows [semver](https://semver.org/) rules e.g (`0.2.0-a

## Bump the version

Update the version number in Cargo.toml file(s), using semantic versioning.
Once that's merged to master, tag it like:

```sh
git tag -a v0.1.0-alpha.6 -m "Version 0.1.0-alpha.6"
git push upstream --tags
```
- In github, open the page to [create the new release](https://github.com/ethereum/trin/releases/new).
- In the tag, type out the version number that the new release bumps to.
- Github should say "Excellent! This tag will be created from the target when you publish this release."
- Click "Generate release notes"
- Add "Trin " to the beginning of the release title
- Add any clarifying information that's helpful about the release

## Build the binary for release

Expand All @@ -32,16 +31,6 @@ We no longer use `make release` because it's not worth the effort to release all
> ⚠️ **TODO**: How do we generate binaries for all target systems, for this
> release page? Linux, Mac, Windows, ARM, etc
## Create github release page

Go to [trin tags](https://github.com/ethereum/trin/tags).

Find the tag you pushed, and in the `...` menu, select [Create release]

Write up a high-level overview, and link to the generated release notes.

Attach the generated binaries.

## Deploy

Push these changes out to the nodes we run in the network. See next page for details.
Expand Down
8 changes: 6 additions & 2 deletions book/src/developers/contributing/rotation/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ At the end of the previous week, you will get the [Flamingo notes](https://notes

Read through the notes, and then generate the new checklist for the week, by [creating a note from this template](https://notes.ethereum.org/?nav=overview&template=b35733cd-b374-4b79-bc57-f2bb58ee651e).

Link the generated checklist into the Flamingo notes for your week. Make sure your status is "online" in Discord. Make sure you're tagged under the `trin-flamingo` role. Put on your favorite pink shirt. Listen to the [flamingo anthem](https://www.youtube.com/watch?v=6hJv5yBLe9c). Fly.
Link the generated checklist into the Flamingo notes for your week. Make sure your status is "online" in Discord. Make sure you're tagged under the `trin-flamingo` role. Put on your favorite pink shirt. Watch a [silly flamingo video](https://www.youtube.com/watch?v=gWNWtbPEWw0). Fly.

### Daily

Expand All @@ -44,12 +44,16 @@ When you get to the end of your checklist, here are ideas for what to work on ne
- Respond to [Github Participating Notifications](https://github.com/notifications?query=reason%3Aparticipating)
- Review PRs that have been stuck for >24 hours
- Find a [Flamingo Issue](https://github.com/ethereum/trin/issues?q=is%3Aopen+is%3Aissue+label%3Aflamingo) that seems promising, and assign it to yourself (and the project dashbord)
- Run `cargo outdated`
- Pick one or several libraries to upgrade
- Post a PR with the new `Cargo.lock`
- If `cargo outdated` shows all libraries as up-to-date, try `cargo outdated --aggressive`
- grep code for `TODO`s. For each one you find:
- write up issue to explain what needs to be done, and a plan
- link to the TODO in the code, and any relevant context
- label issue as Flamingo. If it is not urgent and a good fit, add "Good First Issue"
- Post a PR to remove the `TODO` from the code, in favor of the issue.
- `git grep -i "todo"` & `git grep -i "fixme"`
- `git grep -iE "(todo)|(fixme)"`
- Look through all [open trin issues](https://github.com/ethereum/trin/issues)
- Close outdated issues, with a short explanation
- If appropriate, add a Flamingo tag
Expand Down

0 comments on commit 1ad0a74

Please sign in to comment.