-
Notifications
You must be signed in to change notification settings - Fork 57
Git sync docs rework #1193
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
Merged
Merged
Git sync docs rework #1193
Changes from 7 commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
4a20e8a
Workspace forks (merge ui + cahngelog)
wendrul 7d4cd0a
Update git sync docs
wendrul b3c93a2
Remove promotion details from git sync docs
wendrul 6228dc4
Centralize promotion workflow instructions, recommend workspace forks
wendrul 12c490d
Update local development
wendrul 62f0261
Merge branch 'main' into git-sync-docs-rework
wendrul cc36f18
Add tags to changelog
wendrul 2303d93
Rename to Git promotion
wendrul 81c25ad
New infographic for forks
wendrul 42015b7
Merge branch 'main' into git-sync-docs-rework
wendrul 046eedf
fixes
wendrul 8fb89c3
fixes
wendrul 2431797
Merge branch 'main' into git-sync-docs-rework
wendrul b44dfed
Merge branch 'main' into git-sync-docs-rework
hcourdent File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| --- | ||
| slug: workspace-forks | ||
| version: v1.593.0 | ||
| title: Workspace forks | ||
| tags: ['Workspaces', 'Git sync', 'Collaboration'] | ||
| description: Create independent copies of workspaces for parallel development workflows, similar to git branches. Merge changes back to parent workspaces directly from the UI or through git sync. | ||
| features: | ||
| [ | ||
| 'Fork workspaces to create independent development environments', | ||
| 'Automatically create git branches when used with git sync', | ||
| 'Merge forked workspaces back to parent workspaces from the UI', | ||
| 'Multiple developers can work on separate forks simultaneously', | ||
| 'Deploy individual items to parent workspace using deployment UI' | ||
| ] | ||
| docs: /docs/advanced/workspace_forks | ||
| video: /videos/merge-ui-demo.mp4 | ||
| --- |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| import DocCard from '@site/src/components/DocCard'; | ||
|
|
||
| # Collaborating on Windmill | ||
|
|
||
| In windmill there are multiple ways to collaborate | ||
wendrul marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## Workspace forks | ||
|
|
||
| The easiest and main way of collaborating on windmill is through the use of workspace forks. This feature lets users branch off of a workspace and have an exact copy where they can create new items or make changes, test them, and deploy them to the main workspace once it's all working. | ||
wendrul marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| <video | ||
| className="border-2 rounded-lg object-cover w-full h-full dark:border-gray-800" | ||
| autoPlay | ||
| loop | ||
| src="/videos/merge-ui-demo.mp4" | ||
| /> | ||
|
|
||
|
|
||
| ## Git sync | ||
|
|
||
| Git sync is a feature that replicates the state of a workspace into a git repository. When properly set-up, changes made to the repository are immediately reflected in the workspace, and vice-versa. This enables local development as well as development in the Web IDE to be tracked and managed by git, and any git-based workflow is possible. | ||
wendrul marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|
|
||
| ### Git sync + Workspace forks | ||
|
|
||
| Workspace forks unlock their full potential when git sync is enabled. When a fork is created, a branch with a corresponding name is created, and changes are tracked there. | ||
|
|
||
| ### Example: feature development workflow | ||
|
|
||
| 1. **Create fork**: The user forks the `main` workspace into a fork named `wm-fork-new-feature` | ||
| 2. **Develop**: User makes changes in the forked workspace -> The changes are reflected in the branch `wm-fork/main/new-feature` of the repo | ||
| 3. **Create PR**: A PR is automatically created by the CI from `wm-fork/main/new-feature` -> `main` | ||
| 4. **Review & merge**: Team reviews changes before merging to main branch | ||
| 5. **Sync back changes**: Changes are automatically synced to the main workspace as soon as the PR is merged. | ||
|
|
||
| <video | ||
| className="border-2 rounded-lg object-cover w-full h-full dark:border-gray-800" | ||
| autoPlay | ||
| loop | ||
| src="/videos/fork_workspace_demo.mp4" | ||
| /> | ||
|
|
||
|
|
||
| ## Advanced setup: Cross-instance deployment (promotion) | ||
|
|
||
| When you have workspaces in different instances, for example in a setup with a staging instance and a prod instance, you might want to deploy changes from one workspace to the other. One way to do this is through a cross-instance promotion: when changes are made in the first "staging" workspace, a branch with a name corresponding to the item is created in the second workspace's repo. A PR is automatically created through the CI/CD. Changes are reviewed, and once the PR is merged the changes are reflected in the "production" workspace. | ||
|
|
||
| **Requirements**: | ||
| - Git sync should be setup on both workspaces, so that they're both syncing changes with their respective repositories. | ||
|
|
||
|  | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.