Compare commits

...

2 Commits

Author SHA1 Message Date
Edward Angert 0a3c9b01b8 feat: add --depth to git-clone module to support shallow clones (#197)
## Description

<!-- Briefly describe what this PR does and why -->

Adds support for a `depth` variable to the git-clone module. If a repo
is large, a shallow clone makes the `git clone` a lot faster

## Type of Change

- [ ] New module
- [ ] Bug fix
- [x] Feature/enhancement
- [ ] Documentation
- [ ] Other

## Module Information

<!-- Delete this section if not applicable -->

**Path:** `registry/coder/modules/git-clone`  
**New version:** `v1.0.19` ? 
**Breaking change:**
  - [ ] Yes
  - [x] No

## Testing & Validation

- [ ] Tests pass (`bun test`)
- [ ] Code formatted (`bun run fmt`)
- [ ] Changes tested locally

- `bun test` - I don't know if this is expected

   ```shell
   ✗ git-clone > fails without git [298.14ms]
   ✗ git-clone > runs with git [289.14ms]
✗ git-clone > runs with github clone with switch to feat/branch
[277.19ms]
✗ git-clone > runs with gitlab clone with switch to feat/branch
[293.49ms]
✗ git-clone > runs with github clone with branch_name set to feat/branch
[288.07ms]
   ```


## Related Issues

<!-- Link related issues or write "None" if not applicable -->

None

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: DevelopmentCats <christofer@coder.com>
2025-07-09 22:27:58 -05:00
DevCats 05b24daccb fix(jetbrains-fleet): correct jetbrains-fleet logo (#198)
## Description

Change logo to correct fleet.svg logo in Jetbrains-Fleet frontmatter

## Type of Change

- [ ] New module
- [X] Bug fix
- [ ] Feature/enhancement
- [ ] Documentation
- [ ] Other

## Module Information

<!-- Delete this section if not applicable -->

**Path:** `registry/coder/modules/jetbrains-fleet`  
**New version:** `v1.0.1`  
**Breaking change:** [ ] Yes [X] No

## Testing & Validation

- [X] Tests pass (`bun test`)
- [X] Code formatted (`bun run fmt`)
- [X] Changes tested locally

## Related Issues

None
<!-- Link related issues or write "None" if not applicable -->
2025-07-09 12:43:32 -05:00
4 changed files with 53 additions and 18 deletions
+29 -10
View File
@@ -15,7 +15,7 @@ This module allows you to automatically clone a repository by URL and skip if it
module "git-clone" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/git-clone/coder"
version = "1.0.18"
version = "1.1.0"
agent_id = coder_agent.example.id
url = "https://github.com/coder/coder"
}
@@ -29,7 +29,7 @@ module "git-clone" {
module "git-clone" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/git-clone/coder"
version = "1.0.18"
version = "1.1.0"
agent_id = coder_agent.example.id
url = "https://github.com/coder/coder"
base_dir = "~/projects/coder"
@@ -44,7 +44,7 @@ To use with [Git Authentication](https://coder.com/docs/v2/latest/admin/git-prov
module "git-clone" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/git-clone/coder"
version = "1.0.18"
version = "1.1.0"
agent_id = coder_agent.example.id
url = "https://github.com/coder/coder"
}
@@ -70,7 +70,7 @@ data "coder_parameter" "git_repo" {
module "git_clone" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/git-clone/coder"
version = "1.0.18"
version = "1.1.0"
agent_id = coder_agent.example.id
url = data.coder_parameter.git_repo.value
}
@@ -104,7 +104,7 @@ Configuring `git-clone` for a self-hosted GitHub Enterprise Server running at `g
module "git-clone" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/git-clone/coder"
version = "1.0.18"
version = "1.1.0"
agent_id = coder_agent.example.id
url = "https://github.example.com/coder/coder/tree/feat/example"
git_providers = {
@@ -123,7 +123,7 @@ To GitLab clone with a specific branch like `feat/example`
module "git-clone" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/git-clone/coder"
version = "1.0.18"
version = "1.1.0"
agent_id = coder_agent.example.id
url = "https://gitlab.com/coder/coder/-/tree/feat/example"
}
@@ -135,7 +135,7 @@ Configuring `git-clone` for a self-hosted GitLab running at `gitlab.example.com`
module "git-clone" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/git-clone/coder"
version = "1.0.18"
version = "1.1.0"
agent_id = coder_agent.example.id
url = "https://gitlab.example.com/coder/coder/-/tree/feat/example"
git_providers = {
@@ -156,7 +156,7 @@ For example, to clone the `feat/example` branch:
module "git-clone" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/git-clone/coder"
version = "1.0.18"
version = "1.1.0"
agent_id = coder_agent.example.id
url = "https://github.com/coder/coder"
branch_name = "feat/example"
@@ -165,7 +165,8 @@ module "git-clone" {
## Git clone with different destination folder
By default, the repository will be cloned into a folder matching the repository name. You can use the `folder_name` attribute to change the name of the destination folder to something else.
By default, the repository will be cloned into a folder matching the repository name.
You can use the `folder_name` attribute to change the name of the destination folder to something else.
For example, this will clone into the `~/projects/coder/coder-dev` folder:
@@ -173,10 +174,28 @@ For example, this will clone into the `~/projects/coder/coder-dev` folder:
module "git-clone" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/git-clone/coder"
version = "1.0.18"
version = "1.1.0"
agent_id = coder_agent.example.id
url = "https://github.com/coder/coder"
folder_name = "coder-dev"
base_dir = "~/projects/coder"
}
```
## Git shallow clone
Limit the clone history to speed-up workspace startup by setting `depth`.
When `depth` is greater than `0` the module runs `git clone --depth <depth>`.
If not defined, the default, `0`, performs a full clone.
```tf
module "git-clone" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/modules/git-clone/coder"
version = "1.1.0"
agent_id = coder_agent.example.id
url = "https://github.com/coder/coder"
depth = 1
}
```
+7
View File
@@ -56,6 +56,12 @@ variable "folder_name" {
default = ""
}
variable "depth" {
description = "If > 0, perform a shallow clone using this depth."
type = number
default = 0
}
locals {
# Remove query parameters and fragments from the URL
url = replace(replace(var.url, "/\\?.*/", ""), "/#.*/", "")
@@ -113,6 +119,7 @@ resource "coder_script" "git_clone" {
CLONE_PATH = local.clone_path,
REPO_URL : local.clone_url,
BRANCH_NAME : local.branch_name,
DEPTH = var.depth,
})
display_name = "Git Clone"
icon = "/icon/git.svg"
+11 -2
View File
@@ -5,6 +5,7 @@ CLONE_PATH="${CLONE_PATH}"
BRANCH_NAME="${BRANCH_NAME}"
# Expand home if it's specified!
CLONE_PATH="$${CLONE_PATH/#\~/$${HOME}}"
DEPTH="${DEPTH}"
# Check if the variable is empty...
if [ -z "$REPO_URL" ]; then
@@ -36,10 +37,18 @@ fi
if [ -z "$(ls -A "$CLONE_PATH")" ]; then
if [ -z "$BRANCH_NAME" ]; then
echo "Cloning $REPO_URL to $CLONE_PATH..."
git clone "$REPO_URL" "$CLONE_PATH"
if [ "$DEPTH" -gt 0 ]; then
git clone --depth "$DEPTH" "$REPO_URL" "$CLONE_PATH"
else
git clone "$REPO_URL" "$CLONE_PATH"
fi
else
echo "Cloning $REPO_URL to $CLONE_PATH on branch $BRANCH_NAME..."
git clone "$REPO_URL" -b "$BRANCH_NAME" "$CLONE_PATH"
if [ "$DEPTH" -gt 0 ]; then
git clone --depth "$DEPTH" -b "$BRANCH_NAME" "$REPO_URL" "$CLONE_PATH"
else
git clone "$REPO_URL" -b "$BRANCH_NAME" "$CLONE_PATH"
fi
fi
else
echo "$CLONE_PATH already exists and isn't empty, skipping clone!"
@@ -1,7 +1,7 @@
---
display_name: JetBrains Fleet
description: Add a one-click button to launch JetBrains Fleet to connect to your workspace.
icon: ../../../../.icons/jetbrains.svg
icon: ../../../../.icons/fleet.svg
verified: true
tags: [ide, jetbrains, fleet]
---
@@ -16,7 +16,7 @@ JetBrains Fleet is a next-generation IDE that supports collaborative development
module "jetbrains_fleet" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/jetbrains-fleet/coder"
version = "1.0.0"
version = "1.0.1"
agent_id = coder_agent.example.id
}
```
@@ -37,7 +37,7 @@ module "jetbrains_fleet" {
module "jetbrains_fleet" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/jetbrains-fleet/coder"
version = "1.0.0"
version = "1.0.1"
agent_id = coder_agent.example.id
}
```
@@ -48,7 +48,7 @@ module "jetbrains_fleet" {
module "jetbrains_fleet" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/jetbrains-fleet/coder"
version = "1.0.0"
version = "1.0.1"
agent_id = coder_agent.example.id
folder = "/home/coder/project"
}
@@ -60,7 +60,7 @@ module "jetbrains_fleet" {
module "jetbrains_fleet" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/jetbrains-fleet/coder"
version = "1.0.0"
version = "1.0.1"
agent_id = coder_agent.example.id
display_name = "Fleet"
group = "JetBrains IDEs"
@@ -74,7 +74,7 @@ module "jetbrains_fleet" {
module "jetbrains_fleet" {
count = data.coder_workspace.me.start_count
source = "registry.coder.com/coder/jetbrains-fleet/coder"
version = "1.0.0"
version = "1.0.1"
agent_id = coder_agent.example.id
agent_name = coder_agent.example.name
}