Skip to content

Commit e2f7f28

Browse files
authored
Merge branch 'main' into stevenmasley/dynamic_owner
2 parents f069ba1 + a18eb9d commit e2f7f28

File tree

404 files changed

+6182
-3211
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

404 files changed

+6182
-3211
lines changed

.github/dependabot.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,21 @@ updates:
104104
update-types:
105105
- version-update:semver-major
106106
open-pull-requests-limit: 15
107+
108+
- package-ecosystem: "terraform"
109+
directories:
110+
- "dogfood/*/"
111+
- "examples/templates/*/"
112+
schedule:
113+
interval: "weekly"
114+
commit-message:
115+
prefix: "chore"
116+
groups:
117+
coder:
118+
patterns:
119+
- "registry.coder.com/coder/*/coder"
120+
labels: []
121+
ignore:
122+
- dependency-name: "*"
123+
update-types:
124+
- version-update:semver-major

.github/workflows/ci.yaml

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
docs-only: ${{ steps.filter.outputs.docs_count == steps.filter.outputs.all_count }}
2525
docs: ${{ steps.filter.outputs.docs }}
2626
go: ${{ steps.filter.outputs.go }}
27-
ts: ${{ steps.filter.outputs.ts }}
27+
site: ${{ steps.filter.outputs.site }}
2828
k8s: ${{ steps.filter.outputs.k8s }}
2929
ci: ${{ steps.filter.outputs.ci }}
3030
db: ${{ steps.filter.outputs.db }}
@@ -92,9 +92,8 @@ jobs:
9292
gomod:
9393
- "go.mod"
9494
- "go.sum"
95-
ts:
95+
site:
9696
- "site/**"
97-
- "Makefile"
9897
k8s:
9998
- "helm/**"
10099
- "scripts/Dockerfile"
@@ -336,7 +335,7 @@ jobs:
336335
# a separate repository to allow its use before actions/checkout.
337336
- name: Setup RAM Disks
338337
if: runner.os == 'Windows'
339-
uses: coder/setup-ramdisk-action@a4b59caa8be2e88c348abeef042d7c1a33d8743e
338+
uses: coder/setup-ramdisk-action@e1100847ab2d7bcd9d14bcda8f2d1b0f07b36f1b
340339

341340
- name: Checkout
342341
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -437,7 +436,7 @@ jobs:
437436
# a separate repository to allow its use before actions/checkout.
438437
- name: Setup RAM Disks
439438
if: runner.os == 'Windows'
440-
uses: coder/setup-ramdisk-action@a4b59caa8be2e88c348abeef042d7c1a33d8743e
439+
uses: coder/setup-ramdisk-action@e1100847ab2d7bcd9d14bcda8f2d1b0f07b36f1b
441440

442441
- name: Checkout
443442
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -774,7 +773,7 @@ jobs:
774773
test-js:
775774
runs-on: ${{ github.repository_owner == 'coder' && 'depot-ubuntu-22.04-8' || 'ubuntu-latest' }}
776775
needs: changes
777-
if: needs.changes.outputs.ts == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main'
776+
if: needs.changes.outputs.site == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main'
778777
timeout-minutes: 20
779778
steps:
780779
- name: Harden Runner
@@ -805,7 +804,7 @@ jobs:
805804
#- premium: true
806805
# name: test-e2e-premium
807806
# Skip test-e2e on forks as they don't have access to CI secrets
808-
if: (needs.changes.outputs.go == 'true' || needs.changes.outputs.ts == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main') && !(github.event.pull_request.head.repo.fork)
807+
if: (needs.changes.outputs.go == 'true' || needs.changes.outputs.site == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main') && !(github.event.pull_request.head.repo.fork)
809808
timeout-minutes: 20
810809
name: ${{ matrix.variant.name }}
811810
steps:
@@ -874,11 +873,13 @@ jobs:
874873
path: ./site/test-results/**/debug-pprof-*.txt
875874
retention-days: 7
876875

876+
# Reference guide:
877+
# https://www.chromatic.com/docs/turbosnap-best-practices/#run-with-caution-when-using-the-pull_request-event
877878
chromatic:
878879
# REMARK: this is only used to build storybook and deploy it to Chromatic.
879880
runs-on: ubuntu-latest
880881
needs: changes
881-
if: needs.changes.outputs.ts == 'true' || needs.changes.outputs.ci == 'true'
882+
if: needs.changes.outputs.site == 'true' || needs.changes.outputs.ci == 'true'
882883
steps:
883884
- name: Harden Runner
884885
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
@@ -888,9 +889,10 @@ jobs:
888889
- name: Checkout
889890
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
890891
with:
891-
# Required by Chromatic for build-over-build history, otherwise we
892-
# only get 1 commit on shallow checkout.
892+
# 👇 Ensures Chromatic can read your full git history
893893
fetch-depth: 0
894+
# 👇 Tells the checkout which commit hash to reference
895+
ref: ${{ github.event.pull_request.head.ref }}
894896

895897
- name: Setup Node
896898
uses: ./.github/actions/setup-node
@@ -900,7 +902,7 @@ jobs:
900902
# the check to pass. This is desired in PRs, but not in mainline.
901903
- name: Publish to Chromatic (non-mainline)
902904
if: github.ref != 'refs/heads/main' && github.repository_owner == 'coder'
903-
uses: chromaui/action@30b6228aa809059d46219e0f556752e8672a7e26 # v11.11.0
905+
uses: chromaui/action@d7afd50124cf4f337bcd943e7f45cfa85a5e4476 # v12.0.0
904906
env:
905907
NODE_OPTIONS: "--max_old_space_size=4096"
906908
STORYBOOK: true
@@ -915,6 +917,7 @@ jobs:
915917
projectToken: 695c25b6cb65
916918
workingDir: "./site"
917919
storybookBaseDir: "./site"
920+
storybookConfigDir: "./site/.storybook"
918921
# Prevent excessive build runs on minor version changes
919922
skip: "@(renovate/**|dependabot/**)"
920923
# Run TurboSnap to trace file dependencies to related stories
@@ -931,7 +934,7 @@ jobs:
931934
# infinitely "in progress" in mainline unless we re-review each build.
932935
- name: Publish to Chromatic (mainline)
933936
if: github.ref == 'refs/heads/main' && github.repository_owner == 'coder'
934-
uses: chromaui/action@30b6228aa809059d46219e0f556752e8672a7e26 # v11.11.0
937+
uses: chromaui/action@d7afd50124cf4f337bcd943e7f45cfa85a5e4476 # v12.0.0
935938
env:
936939
NODE_OPTIONS: "--max_old_space_size=4096"
937940
STORYBOOK: true
@@ -944,6 +947,7 @@ jobs:
944947
projectToken: 695c25b6cb65
945948
workingDir: "./site"
946949
storybookBaseDir: "./site"
950+
storybookConfigDir: "./site/.storybook"
947951
# Run TurboSnap to trace file dependencies to related stories
948952
# and tell chromatic to only take snapshots of relevant stories
949953
onlyChanged: true

.github/workflows/docs-ci.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
- name: Setup Node
2929
uses: ./.github/actions/setup-node
3030

31-
- uses: tj-actions/changed-files@480f49412651059a414a6a5c96887abb1877de8a # v45.0.7
31+
- uses: tj-actions/changed-files@3981e4f74104e7a4c67a835e1e5dd5d9eb0f0a57 # v45.0.7
3232
id: changed-files
3333
with:
3434
files: |

agent/agent_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2188,14 +2188,14 @@ func TestAgent_DevcontainerRecreate(t *testing.T) {
21882188

21892189
t.Logf("Looking for container with label: devcontainer.local_folder=%s", workspaceFolder)
21902190

2191-
var container docker.APIContainers
2191+
var container codersdk.WorkspaceAgentContainer
21922192
testutil.Eventually(ctx, t, func(context.Context) bool {
2193-
containers, err := pool.Client.ListContainers(docker.ListContainersOptions{All: true})
2193+
resp, err := conn.ListContainers(ctx)
21942194
if err != nil {
21952195
t.Logf("Error listing containers: %v", err)
21962196
return false
21972197
}
2198-
for _, c := range containers {
2198+
for _, c := range resp.Containers {
21992199
t.Logf("Found container: %s with labels: %v", c.ID[:12], c.Labels)
22002200
if v, ok := c.Labels["devcontainer.local_folder"]; ok && v == workspaceFolder {
22012201
t.Logf("Found matching container: %s", c.ID[:12])
@@ -2205,7 +2205,7 @@ func TestAgent_DevcontainerRecreate(t *testing.T) {
22052205
}
22062206
return false
22072207
}, testutil.IntervalMedium, "no container with workspace folder label found")
2208-
defer func(container docker.APIContainers) {
2208+
defer func(container codersdk.WorkspaceAgentContainer) {
22092209
// We can't rely on pool here because the container is not
22102210
// managed by it (it is managed by @devcontainer/cli).
22112211
err := pool.Client.RemoveContainer(docker.RemoveContainerOptions{
@@ -2225,8 +2225,8 @@ func TestAgent_DevcontainerRecreate(t *testing.T) {
22252225
// Invoke recreate to trigger the destruction and recreation of the
22262226
// devcontainer, we do it in a goroutine so we can process logs
22272227
// concurrently.
2228-
go func(container docker.APIContainers) {
2229-
err := conn.RecreateDevcontainer(ctx, container.ID)
2228+
go func(container codersdk.WorkspaceAgentContainer) {
2229+
_, err := conn.RecreateDevcontainer(ctx, container.ID)
22302230
assert.NoError(t, err, "recreate devcontainer should succeed")
22312231
}(container)
22322232

@@ -2253,12 +2253,12 @@ waitForOutcomeLoop:
22532253

22542254
// Make sure the container exists and isn't the same as the old one.
22552255
testutil.Eventually(ctx, t, func(context.Context) bool {
2256-
containers, err := pool.Client.ListContainers(docker.ListContainersOptions{All: true})
2256+
resp, err := conn.ListContainers(ctx)
22572257
if err != nil {
22582258
t.Logf("Error listing containers: %v", err)
22592259
return false
22602260
}
2261-
for _, c := range containers {
2261+
for _, c := range resp.Containers {
22622262
t.Logf("Found container: %s with labels: %v", c.ID[:12], c.Labels)
22632263
if v, ok := c.Labels["devcontainer.local_folder"]; ok && v == workspaceFolder {
22642264
if c.ID == container.ID {
@@ -2272,7 +2272,7 @@ waitForOutcomeLoop:
22722272
}
22732273
return false
22742274
}, testutil.IntervalMedium, "new devcontainer not found")
2275-
defer func(container docker.APIContainers) {
2275+
defer func(container codersdk.WorkspaceAgentContainer) {
22762276
// We can't rely on pool here because the container is not
22772277
// managed by it (it is managed by @devcontainer/cli).
22782278
err := pool.Client.RemoveContainer(docker.RemoveContainerOptions{

0 commit comments

Comments
 (0)