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

feat: add w3up-client at /packages/w3up-client #649

Closed
wants to merge 194 commits into from
Closed

Conversation

gobengo
Copy link
Contributor

@gobengo gobengo commented Mar 24, 2023

Motivation:

  • add @web3-storage/w3up-client package to this monorepo #648
    • e.g. so we can iterate on w3up-client and its dependencies like @web3-storage/access/agent at the same time within the workspace (and modifying tests/types) without having to release anything. We can only do releases once we are sure that everything in the monorepo (now incl w3up-client) works together to accomplish a useful goal

How:

  • git subtree add -P packages/w3up-client git@github.com:web3-storage/w3up-client.git main
  • monorepo github workflow that does workflow_call to the w3up-client package github workflows fb1656f

Not in here atm:

  • npm.im/@web3-storage/w3up-client release automation.
    • but what I did do in here is a precursor to that, making sure that new pushes in this monorepo will run the test workflow defined in /packages/w3up-client/.github/workflows/test.yml
      • devving this stuff can be tricky in one single PR, because github actions sometimes only looks in main branch to decide what to do. I kinda want to merge this in here, make sure this way of composing github actions workflows works, and based on that learning, do the w3up-client release automation as a followup. (during that time, some w3up-client code will be in here, but releases/PRs/etc would still happen where they currently happen, which is in other repo)

ice-breaker-tg and others added 30 commits August 12, 2022 16:32
chore: add install & usage info to README
fix missing `:` in createClient example
github-actions bot and others added 11 commits March 21, 2023 11:49
Upgrades `upload-client` dependency to pull in HAMT sharded directories support

Also updates README docs and some comments.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat: updated README instructions for MVP

* fix: mistakenly deleted a line

* feat: add placeholder for GH discussions

* feat: new ToS link

* fix: no beta in ToS URL

* feat: include updated ToS links

* feat: make README shippable

* feat: add provider optional parameter

---------

Co-authored-by: Alan Shaw <alan.shaw@protocol.ai>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…dc7857ecf77e'

git-subtree-dir: packages/w3up-client
git-subtree-mainline: 9c60e60
git-subtree-split: 9753243
… has new .github/workflows/w3up-client.yml that invokes the subpackage test workflow
@gobengo gobengo changed the title 648 w3up client add add w3up-client at /packages/w3up-client Mar 24, 2023
@gobengo gobengo changed the title add w3up-client at /packages/w3up-client feat: add w3up-client at /packages/w3up-client Mar 24, 2023
@gobengo gobengo marked this pull request as ready for review March 24, 2023 19:33
@gobengo gobengo self-assigned this Mar 24, 2023
Copy link
Member

@alanshaw alanshaw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the process of removing the subtree when we decomission?

I would avoid subtree, just move the commits wholesale, and get it setup in CI in a single PR.

Maybe this is how? https://stackoverflow.com/questions/13040958/merge-two-git-repositories-without-breaking-file-history

If we need to release a bugfix to the client in an emergency in the mean time then we just can port the changes up to here.

@heyjay44 heyjay44 mentioned this pull request Mar 27, 2023
23 tasks
@gobengo
Copy link
Contributor Author

gobengo commented Mar 27, 2023

@alanshaw thanks, I will try out a way without using git subtree add

@gobengo
Copy link
Contributor Author

gobengo commented Mar 27, 2023

superceded by #653

@gobengo gobengo closed this Mar 27, 2023
gobengo added a commit that referenced this pull request Mar 28, 2023
Motivation:
* #648
* e.g. so we can iterate on w3up-client and its dependencies like
`@web3-storage/access/agent` at the same time within the workspace (and
modifying tests/types) without having to release anything. We can only
do releases once we are sure that everything in the monorepo (now incl
w3up-client) works together to accomplish a useful goal
* round 2, this time not using `git subtree add`
#649 (comment)

How
* [x] this git technique: https://stackoverflow.com/a/20974621 (via
[this tip](https://github.com/web3-storage/w3protocol
/pull/649#pullrequestreview-1358869478))
* [x] add `@web3-storage/w3up-client` to release-please-config
* [x] add latest npm release for w3up-client to this monorepo's
[release-please-config following release-please 'initial version'
docs](https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md#initial-version)
* [x] w3protocol monorepo github workflows call appropriate w3up-client
workflows
* [x] on push/pr, do w3up-client build and test
f9b8e65#diff-eefdf870850494ad962a679c802b7733805b6996d8f1c6a992ae8760a366f82eR16
* [x] on commit to main branch do release-please-action to prepare a
release-please pr for w3up-client publishing to npm
* @gobengo: I believe this will happen via unified
[`/.github/workflow/release.yml`](https://github.com/web3-storage/w3protocol/blob/main/.github/workflows/release.yml#L15)
workflow, since I added w3up-client to release-please-config and
manifest
* [x] when w3up-client release-please pr is merged, release
`@web3-storage/w3up-client` to
https://www.npmjs.com/package/@web3-storage/w3up-client
* should happen [via
release.yml](2f8ae22#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34R39)
* [x] [add w3up-client to monorepo root docs
build](2f8ae22#diff-b55cdbef4907b7045f32cc5360d48d262cca5f94062e353089f189f4460039e0R42)
* [x] ensure w3up-client has intra-monorepo dependencies set up [using
`workspace:`
protocol](https://pnpm.io/workspaces#workspace-protocol-workspace) and
similar use of tsconfig.json [project
references](8b87fcc#diff-78dc2f52fc9c2ed3593f53799153a338a7f20eb6f16309a1175fbfcbae270118R49)
* [x] w3up-client tsconfig extends monorepo root

Unblocks:
* add "./test" to tsconfig.json in w3up-client to type check the tests
like the rest of packages in this monorepo
  * based on https://github.com/web3-storage/w3up-client/issues/96

---------

Co-authored-by: ice.breaker <ice.breaker@trigram.co>
Co-authored-by: Yusef Napora <yusef@napora.org>
Co-authored-by: ice.breaker <94936890+ice-breaker-tg@users.noreply.github.com>
Co-authored-by: Jesse Harlin <harlinjesse@gmail.com>
Co-authored-by: Daniel <daniel.ashcraft@ofashandfire.com>
Co-authored-by: Vasco Santos <santos.vasco10@gmail.com>
Co-authored-by: Hugo Dias <hugomrdias@gmail.com>
Co-authored-by: Irakli Gozalishvili <contact@gozala.io>
Co-authored-by: David Choi <dchoi27@gmail.com>
Co-authored-by: Alan Shaw <alan.shaw@protocol.ai>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yusef Napora <yusef@protocol.ai>
Co-authored-by: Travis Vachon <travis.vachon@gmail.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
gobengo added a commit that referenced this pull request Apr 11, 2023
Motivation:
* #648
* e.g. so we can iterate on w3up-client and its dependencies like
`@web3-storage/access/agent` at the same time within the workspace (and
modifying tests/types) without having to release anything. We can only
do releases once we are sure that everything in the monorepo (now incl
w3up-client) works together to accomplish a useful goal
* round 2, this time not using `git subtree add`
#649 (comment)

How
* [x] this git technique: https://stackoverflow.com/a/20974621 (via
[this tip](https://github.com/web3-storage/w3protocol
/pull/649#pullrequestreview-1358869478))
* [x] add `@web3-storage/w3up-client` to release-please-config
* [x] add latest npm release for w3up-client to this monorepo's
[release-please-config following release-please 'initial version'
docs](https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md#initial-version)
* [x] w3protocol monorepo github workflows call appropriate w3up-client
workflows
* [x] on push/pr, do w3up-client build and test
f9b8e65#diff-eefdf870850494ad962a679c802b7733805b6996d8f1c6a992ae8760a366f82eR16
* [x] on commit to main branch do release-please-action to prepare a
release-please pr for w3up-client publishing to npm
* @gobengo: I believe this will happen via unified
[`/.github/workflow/release.yml`](https://github.com/web3-storage/w3protocol/blob/main/.github/workflows/release.yml#L15)
workflow, since I added w3up-client to release-please-config and
manifest
* [x] when w3up-client release-please pr is merged, release
`@web3-storage/w3up-client` to
https://www.npmjs.com/package/@web3-storage/w3up-client
* should happen [via
release.yml](2f8ae22#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34R39)
* [x] [add w3up-client to monorepo root docs
build](2f8ae22#diff-b55cdbef4907b7045f32cc5360d48d262cca5f94062e353089f189f4460039e0R42)
* [x] ensure w3up-client has intra-monorepo dependencies set up [using
`workspace:`
protocol](https://pnpm.io/workspaces#workspace-protocol-workspace) and
similar use of tsconfig.json [project
references](8b87fcc#diff-78dc2f52fc9c2ed3593f53799153a338a7f20eb6f16309a1175fbfcbae270118R49)
* [x] w3up-client tsconfig extends monorepo root

Unblocks:
* add "./test" to tsconfig.json in w3up-client to type check the tests
like the rest of packages in this monorepo
  * based on https://github.com/web3-storage/w3up-client/issues/96

---------

Co-authored-by: ice.breaker <ice.breaker@trigram.co>
Co-authored-by: Yusef Napora <yusef@napora.org>
Co-authored-by: ice.breaker <94936890+ice-breaker-tg@users.noreply.github.com>
Co-authored-by: Jesse Harlin <harlinjesse@gmail.com>
Co-authored-by: Daniel <daniel.ashcraft@ofashandfire.com>
Co-authored-by: Vasco Santos <santos.vasco10@gmail.com>
Co-authored-by: Hugo Dias <hugomrdias@gmail.com>
Co-authored-by: Irakli Gozalishvili <contact@gozala.io>
Co-authored-by: David Choi <dchoi27@gmail.com>
Co-authored-by: Alan Shaw <alan.shaw@protocol.ai>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yusef Napora <yusef@protocol.ai>
Co-authored-by: Travis Vachon <travis.vachon@gmail.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.