Properly handle release trains in CI
I don't know how we want to handle this, but as people start to use the new libraries, there's going to be a lot of confusion around the release trains we've got going for each package, namely:
latestexperimentaltp
I'm wondering if we should be updating latest in our CI's publish-packages job every time experimental is updated?
I realize that we've isolated the experimental tag for a reason, but since latest exists and it's hilariously outdated for most of the packages, I feel like we're introducing some confusion.
For example, if I don't explicitly use the experimental tag for all @solana/* packages that have this release train, I can get some compatibility errors. Consider installing the main Web3Next library on experimental but the GraphQL API on latest:
yarn add @solana/web3.js@experimental @solana/rpc-graphql
This will result in two different commits for these packages, and some code may be broken as a result.
Instead, you must do:
yarn add @solana/web3.js@experimental @solana/rpc-graphql@experimental
cc @steveluscher @mcintyre94 @lorisleiva
I think we want to delete the latest tag for every experimental package. Nobody should be installing those rawdog.
npm dist-tag rm @solana/addresses latest
npm dist-tag rm @solana/assertions latest
npm dist-tag rm @solana/codecs-core latest
npm dist-tag rm @solana/codecs-data-structures latest
npm dist-tag rm @solana/codecs-numbers latest
npm dist-tag rm @solana/codecs-strings latest
npm dist-tag rm @solana/compat latest
npm dist-tag rm @solana/functional latest
npm dist-tag rm @solana/instructions latest
npm dist-tag rm @solana/keys latest
npm dist-tag rm @solana/options latest
npm dist-tag rm @solana/rpc-core latest
npm dist-tag rm @solana/rpc-graphql latest
npm dist-tag rm @solana/rpc-transport latest
npm dist-tag rm @solana/rpc-types latest
npm dist-tag rm @solana/signers latest
npm dist-tag rm @solana/transactions latest
npm dist-tag rm @solana/web3.js-legacy-sham latest
npm dist-tag rm @solana/webcrypto-ed25519-polyfill latest
So after discovering we can't delete latest, sounds like as per @steveluscher's experiment we need to deprecate the latest tag instead, on every package.
Because there has been no activity on this issue for 7 days since it was closed, it has been automatically locked. Please open a new issue if it requires a follow up.