Code Monkey home page Code Monkey logo

interchain_public_works's Issues

PILOT: HMW tune auto workflows so that CosmosSDK epics come through to this board?

We believe the Interchain dev community
has a problem tracking dependencies across projects
and we can solve it w/ a Information Radiator showing the status of epics across the Core Dev repos
We'll know we're right if time-we're-blocked-by-external-teams goes down
And we'll know we're right if foreign PRs go up (bc it's easy to see where it'll be quicker just to patch a blocker yrself)


As ToT
We want CosmosSDK epics to come through to the IPW board
Because it's our Proof-of-concept


When the cron runs
Then all the CosmosSDK epics get added to IPW
And status should come through
And it should be idempotent


Todo

  • pull a "story type: Epic" story from Cosmos SDK into memory
  • push Epic into IPW Epics On The Interchain
  • sync Status field of foreign stories from a single repo (Cosmos SDK)
  • do it all for a 2nd (3rd, 4th, etc) repo
  • pull all Epics from Cosmos SDK into IPW Epics On The Interchain
  • make it a cron job

How To

Pull story status from CosmosSDK

  • brew install gh-cli
  • gh auth login
  • gh project list --owner cosmos --limit 11 (need explicit limit or get a pagination error from the API)

// Pull epics from foreign project
gh project item-list 26 --owner cosmos --format json -q '.items[] | select(.["story Type"] == "๐Ÿ‘‘ Epic") | {title: .title, status: .status, storyType: .["story Type"], url: .content.url}'

// add single epic to IPW
gh project item-add 3 --owner interchainio --url https://github.com/cosmos/cosmos-sdk/issues/9958

assign "๐Ÿ‘‘ Epic" status to Issue Story Type field in IPW

// get Issue ID
gh project item-list 3 --owner interchainio --limit 200 --format json | jq -r '.items[] | select(.content.url == "cosmos/cosmos-sdk#9958") | .id' # PVTI_lADOAsuzxc4AkKP5zgQ9Oxg

// get IPW Story Type field id

โžœ  dot-rot git:(master) โœ— gh project field-list --owner interchainio
? Which project would you like to use? Interchain Public Works (#3)
NAME                  DATA TYPE                   ID
Title                 ProjectV2Field              PVTF_lADOAsuzxc4AkKP5zgcaQn0
Assignees             ProjectV2Field              PVTF_lADOAsuzxc4AkKP5zgcaQn4
Status                ProjectV2SingleSelectField  PVTSSF_lADOAsuzxc4AkKP5zgcaQn8
Labels                ProjectV2Field              PVTF_lADOAsuzxc4AkKP5zgcaQoA
Linked pull requests  ProjectV2Field              PVTF_lADOAsuzxc4AkKP5zgcaQoE
Milestone             ProjectV2Field              PVTF_lADOAsuzxc4AkKP5zgcaQoI
Repository            ProjectV2Field              PVTF_lADOAsuzxc4AkKP5zgcaQoM
Reviewers             ProjectV2Field              PVTF_lADOAsuzxc4AkKP5zgcaQoc
Story Type            ProjectV2SingleSelectField  PVTSSF_lADOAsuzxc4AkKP5zgcaQoo

// get the project id

โžœ  dot-rot git:(master) โœ— gh project list --owner interchainio
NUMBER  TITLE                    STATE  ID
3       Interchain Public Works  open   PVT_kwDOAsuzxc4AkKP5

// get the IPW field value:

 dot-rot git:(master) โœ— gh project field-list 3 --owner interchainio --format json -q ".fields[]" | jq -r '. | select(.name == "Story Type").id'

PVTSSF_lADOAsuzxc4AkKP5zgcaQoo

// get the id of the single-select via --format json --single-select-option-id string

 dot-rot git:(master) โœ— gh project field-list 3 --owner interchainio --format json -q ".fields[]" | jq -r '. | select(.name == "Story Type").options[] | select(.name == "๐Ÿ‘‘ Epic").id'

282f80fd

// assign "๐Ÿ‘‘ Epic" status to Issue Story Type field in IPW

gh project item-edit --project-id PVT_kwDOAsuzxc4AkKP5 --id PVTI_lADOAsuzxc4AkKP5zgQ9Oxg --field-id PVTSSF_lADOAsuzxc4AkKP5zgcaQoo --single-select-option-id string 282f80fd


THIS SEEMS TO HAVE WORKED!!

โžœ  dot-rot git:(master) โœ— gh project field-list 3 --owner interchainio --format json -q ".fields[]" | jq -r '. | select(.name == "Story Type").id'

PVTSSF_lADOAsuzxc4AkKP5zgcaQoo
โžœ  dot-rot git:(master) โœ— gh project field-list 3 --owner interchainio --format json -q ".fields[]" | jq -r '. | select(.name == "Story Type").options[] | "\(.name): \(.id)"'

โญ๏ธ User story: 9c507ef2
๐Ÿž Bug: 9b62bd3f
โš™๏ธ Chore: 5b9ce27f
๐Ÿ‘‘ Epic: 282f80fd
๐Ÿ Release Marker: bd1610fc
โžœ  dot-rot git:(master) โœ— gh project item-edit --project-id PVT_kwDOAsuzxc4AkKP5 --id PVTI_lADOAsuzxc4AkKP5zgQ9Oxg --field-id PVTSSF_lADOAsuzxc4AkKP5zgcaQoo --single-select-option-id 282f80fd

Edited item "EPIC: Separate x/auth and vesting"
โžœ  dot-rot git:(master) โœ—


EPIC: Interchain should have Sane Defaults for public project mgmt ("Backlog Interop")

Tasks

  • get Ollie to create public interchain/interchain_public_works repo https://github.com/interchainio/interchain_public_works
  • move this ticket to IPW and add Nico and Ollie
  • create interchainio/interchain_public_works gh project
  • #3
  • โšก๏ธ articulate what "backlog interop" means (blog post?): story types, statuses, board automation, etc
  • make projects (see list below) Backlog-Interop compliant
  • #12
  • socialize it (PHEELblog)
  • put out a call to ToT: who's in next?
  • create Backlog Interop Wiki

Projects to onboard to Backlog Interop

  • Cosmos-SDK
  • IBC-wasm
  • cosmos/IBC-apps
  • strangelove-ventures/horcrux
  • strangelove-ventures/interchaintest,
  • abstract.money
  • some informal?
  • some IG?
  • some other ToT?

Upgrade GH plan

## Todo
- [ ] figure out the minimum number of seats needed for now
- [ ] upgrade the plan


As Interchain
We need to upgrade the Interchainio GH plan
Bc we need privs to auto-add stories from all major repos

When I go to https://github.com/orgs/interchainio/projects/3/workflows
Then I should be able to create an "Auto Add" workflow for at least one auto-add workflow for each major Cosmos repo, about ~28 repos at current count

Image

IPW should have a PHEELblog (e.g. Github Pages jeklyll or gatsby in this repo)

As the Interchain community
We want a Canonical Source of Truth to memorialize any Decisions, Plans, Hypotheses, Experiments, Explorations or Learnings
Because as a community, we need institutional memory and
Because it makes onboarding easier

When I go to the blog (<https://interchainio.github.io/interchain_public_works_pheelblog>?)
Then I should see our PHEELblog

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.