e8d8c654e1
Update to deployment and docs generation: adjustments to deploy v2 artifact instead of main artifacts. Note: while the update aims to deploy artifacts from the latest release branches instead of main, the actual website build is still done on the main branch. This will prevent the pipeline from deploying docs which were generated with an outdated version of the website. Notable changes: deploy-docs: - shifted most of the stages from build-docs to deploy-docs - build-docs now runs check_branch_version -> upload-json -> trigger deploy build-docs: - shifted check_branch_version to the top since its output is required to properly in the upload json step upload-json-step: - added a new upload step which uploads artifacts with the name "latest-v*.tar.gz" - takes in new parameters from check_branch_version to ensure it only uploads with this name when the pipeline is running on the latest release branch latestVersions: - since upload-json-step requires majorVersion, I figured it was best to include it as an output variable for the function as it seems more robust compared to relying on a string parsing script in the pipeline itself download-apis: - update such that it only downloads "latest-v*.tar.gz" instead of the main branch artifacts |
||
---|---|---|
.. | ||
.vscode | ||
feeds | ||
packages | ||
patches | ||
.czrc | ||
.gitignore | ||
.npmignore | ||
.npmrc | ||
.prettierignore | ||
.releaseGroup | ||
CHANGELOG.md | ||
README.md | ||
RELEASE_NOTES.md | ||
api-extractor-base.json | ||
biome.jsonc | ||
commitlint.config.cjs | ||
lerna.json | ||
package.json | ||
pnpm-lock.yaml | ||
pnpm-workspace.yaml | ||
syncpack.config.cjs |
README.md
@fluid-tools/build-tools
This folder contains packages used for building and managing the contents of Fluid Framework repositories and implementing the Fluid Framework release process.
@fluid-tools/build-cli (aka flub)
A build and release tool for the Fluid Framework GitHub repositories. flub is intended to replace the existing fluid build-tools, primarily by reusing existing build-tools functionality and wrapping it in a more consistent, maintainable CLI using oclif.
@fluidframework/build-tools
This package contains both CLI tools and supporting code. This is the home of all the "classic" Fluid build tools, like policy-check, fluid-bump-version, etc.
Note: Don't add new CLI commands to this package. Instead, add a new command to the build-cli
package and import the
functionality you need from this package.
@fluid-tools/version-tools
This package contains APIs and a CLI for working with semantic versioning version strings and ranges, especially those using Fluid-specific version schemes.
Testing build-tools changes in the client release group
It is very useful to test changes in build-tools against the client release group because the test coverage of build-tools is limited, and manually testing locally with the client will expose obvious things like broken incremental builds, etc.
The easiest way to test build-tools in client is to use pnpm overrides. You can use the following command from the root of the repo to update the root package.json and lockfile to link to the local version of build-tools:
npm pkg set pnpm.overrides.@fluidframework/build-tools=link:./build-tools/packages/build-tools pnpm.overrides.@fluid-tools/build-cli=link:./build-tools/packages/build-cli
pnpm i --no-frozen-lockfile
Once done, when you run pnpm build
from the root, it will invoke the local in-repo versions of flub and fluid-build.
[!TIP] Note that if you make changes to build-tools, you'll need to rebuild build-tools for those changes to take effect in the client release group.
You cannot merge in this state, but it allows you to test changes locally, including applying the results of new repo policies, re-generating type tests with updated code, etc.
Contribution Guidelines
There are many ways to contribute to Fluid.
- Participate in Q&A in our GitHub Discussions.
- Submit bugs and help us verify fixes as they are checked in.
- Review the source code changes.
- Contribute bug fixes.
Detailed instructions for working in the repo can be found in the Wiki.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services. Use of these trademarks or logos must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
Help
Not finding what you're looking for in this README? Check out fluidframework.com.
Still not finding what you're looking for? Please file an issue.
Thank you!
Trademark
This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
Use of these trademarks or logos must follow Microsoft's Trademark & Brand Guidelines.
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.