Commit Graph
8967 Commits
Author SHA1 Message Date
dependabot[bot]andKyle Carberry 2b0f4713f5 chore: bump @types/react-dom from 17.0.11 to 17.0.12 in /site (#393)
Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 17.0.11 to 17.0.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kyle Carberry <kyle@coder.com>
2022-03-02 16:25:33 +00:00
dependabot[bot]andKyle Carberry 73219ba8cc chore: bump ts-node from 10.5.0 to 10.6.0 in /site (#394)
Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 10.5.0 to 10.6.0.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v10.5.0...v10.6.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kyle Carberry <kyle@coder.com>
2022-03-02 10:06:35 -06:00
dependabot[bot]andKyle Carberry 8a6b0e3dd1 chore: bump ts-loader from 9.2.6 to 9.2.7 in /site (#392)
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 9.2.6 to 9.2.7.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v9.2.6...v9.2.7)

---
updated-dependencies:
- dependency-name: ts-loader
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kyle Carberry <kyle@coder.com>
2022-03-02 09:09:25 -06:00
dependabot[bot] 6728729c27 chore: bump actions/checkout from 2 to 3 (#391) 2022-03-02 08:25:14 -06:00
Bryan 4f93c98f57 fix: coder project create -> coder projects create (#390)
While going through the create projects flow, I realized there's a typo on the projects page. 

The command should read `coder projects create`, but instead it is currently showing `coder project create`:
<img width="466" alt="Screen Shot 2022-03-01 at 5 31 19 PM" src="https://user-images.githubusercontent.com/88213859/156277646-6fc03977-6dda-4db4-9fce-e48b4b5efba3.png">

Fixing this typo will alleviate some confusion as we on-board developers to v2
2022-03-01 18:08:36 -08:00
Kyle Carberry 7e72eb9ee6 test: Add mutex to opening PostgreSQL ports to prevent collision (#389)
Closes #388.
2022-03-01 18:36:07 +00:00
dependabot[bot] 6c2371e2a1 chore: bump typescript from 4.5.5 to 4.6.2 in /site (#387)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.5.5 to 4.6.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.5.5...v4.6.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-01 10:16:54 -08:00
Kyle Carberry ea5efbd37f test: Fix flake with context.Cancelled in provisionerd (#386)
This occurred because the context can cancel in the same time a response
is sent. This isn't a bug, because the complete still occurs.
2022-03-01 01:56:54 +00:00
Kyle Carberry fd5eceb0b8 test: Fix test flake panic in provisionerd (#383)
Closes #382.
2022-02-28 13:10:34 -08:00
Kyle Carberry 8acd58a095 fix: Use plan to detect resource agent association (#381)
* ci: Update DataDog GitHub branch to fallback to GITHUB_REF

This was detecting branches, but not our "main" branch before.
Hopefully this fixes it!

* Add basic Terraform Provider

* Rename post files to upload

* Add tests for resources

* Skip instance identity test

* Add tests for ensuring agent get's passed through properly

* Fix linting errors

* Add echo path

* Fix agent authentication

* fix: Convert all jobs to use a common resource and agent type

This enables a consistent API for project import and provisioned resources.

* Add "coder_workspace" data source

* feat: Remove magical parameters from being injected

This is a much cleaner abstraction. Explicitly declaring the user
parameters for each provisioner makes for significantly simpler
testing.

* feat: Add graceful exits to provisionerd

Terraform (or other provisioners) may need to cleanup state, or
cancel actions before exit. This adds the ability to gracefully
exit provisionerd.

* Fix cancel error check

* feat: Add destroy to workspace provision job

This enables the full flow of create/update/delete.

* fix: Use plan to detect resource agent association

Before this used the configuration object which detected all resources
regardless of count.
2022-02-28 19:32:13 +00:00
Kyle Carberry b6017a7cc5 feat: Add destroy to workspace provision job (#373)
* ci: Update DataDog GitHub branch to fallback to GITHUB_REF

This was detecting branches, but not our "main" branch before.
Hopefully this fixes it!

* Add basic Terraform Provider

* Rename post files to upload

* Add tests for resources

* Skip instance identity test

* Add tests for ensuring agent get's passed through properly

* Fix linting errors

* Add echo path

* Fix agent authentication

* fix: Convert all jobs to use a common resource and agent type

This enables a consistent API for project import and provisioned resources.

* Add "coder_workspace" data source

* feat: Remove magical parameters from being injected

This is a much cleaner abstraction. Explicitly declaring the user
parameters for each provisioner makes for significantly simpler
testing.

* feat: Add graceful exits to provisionerd

Terraform (or other provisioners) may need to cleanup state, or
cancel actions before exit. This adds the ability to gracefully
exit provisionerd.

* Fix cancel error check

* feat: Add destroy to workspace provision job

This enables the full flow of create/update/delete.
2022-02-28 19:20:36 +00:00
Kyle Carberry 9d2803e07a feat: Add graceful exits to provisionerd (#372)
* ci: Update DataDog GitHub branch to fallback to GITHUB_REF

This was detecting branches, but not our "main" branch before.
Hopefully this fixes it!

* Add basic Terraform Provider

* Rename post files to upload

* Add tests for resources

* Skip instance identity test

* Add tests for ensuring agent get's passed through properly

* Fix linting errors

* Add echo path

* Fix agent authentication

* fix: Convert all jobs to use a common resource and agent type

This enables a consistent API for project import and provisioned resources.

* Add "coder_workspace" data source

* feat: Remove magical parameters from being injected

This is a much cleaner abstraction. Explicitly declaring the user
parameters for each provisioner makes for significantly simpler
testing.

* feat: Add graceful exits to provisionerd

Terraform (or other provisioners) may need to cleanup state, or
cancel actions before exit. This adds the ability to gracefully
exit provisionerd.

* Fix cancel error check
2022-02-28 18:40:49 +00:00
Kyle Carberry e5c95552cd feat: Remove magical parameters from being injected (#371)
* ci: Update DataDog GitHub branch to fallback to GITHUB_REF

This was detecting branches, but not our "main" branch before.
Hopefully this fixes it!

* Add basic Terraform Provider

* Rename post files to upload

* Add tests for resources

* Skip instance identity test

* Add tests for ensuring agent get's passed through properly

* Fix linting errors

* Add echo path

* Fix agent authentication

* fix: Convert all jobs to use a common resource and agent type

This enables a consistent API for project import and provisioned resources.

* Add "coder_workspace" data source

* feat: Remove magical parameters from being injected

This is a much cleaner abstraction. Explicitly declaring the user
parameters for each provisioner makes for significantly simpler
testing.
2022-02-28 18:26:01 +00:00
Kyle Carberry bd0293aff9 fix: Convert all jobs to use a common resource and agent type (#369)
* ci: Update DataDog GitHub branch to fallback to GITHUB_REF

This was detecting branches, but not our "main" branch before.
Hopefully this fixes it!

* Add basic Terraform Provider

* Rename post files to upload

* Add tests for resources

* Skip instance identity test

* Add tests for ensuring agent get's passed through properly

* Fix linting errors

* Add echo path

* Fix agent authentication

* fix: Convert all jobs to use a common resource and agent type

This enables a consistent API for project import and provisioned resources.
2022-02-28 18:00:52 +00:00
Jonathan Yu 2d6804c746 chore: improve coverage of cryptorand package (#377)
Check error cases in cryptorand functions, such as failures to
read random data and input parameter validation.
2022-02-28 09:50:55 -08:00
dependabot[bot] 0c005cebca chore: bump eslint-plugin-react from 7.28.0 to 7.29.2 in /site (#375)
Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) from 7.28.0 to 7.29.2.
- [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases)
- [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yannickcr/eslint-plugin-react/compare/v7.28.0...v7.29.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-28 17:37:10 +00:00
Kyle CarberryandBryan 35ae532f7c feat: Add Terraform Provider for agent resources (#368)
* ci: Update DataDog GitHub branch to fallback to GITHUB_REF

This was detecting branches, but not our "main" branch before.
Hopefully this fixes it!

* Add basic Terraform Provider

* Rename post files to upload

* Add tests for resources

* Skip instance identity test

* Add tests for ensuring agent get's passed through properly

* Fix linting errors

* Add echo path

* Fix agent authentication

* Update codersdk/files.go

Co-authored-by: Bryan <bryan@coder.com>

Co-authored-by: Bryan <bryan@coder.com>
2022-02-28 17:16:44 +00:00
dependabot[bot]andKyle Carberry 512e239835 chore: bump golangci/golangci-lint-action from 2 to 3.1.0 (#374)
* chore: bump golangci/golangci-lint-action from 2 to 3.1.0

Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 2 to 3.1.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v2...v3.1.0)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Pin Go version

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kyle Carberry <kyle@coder.com>
2022-02-28 14:38:51 +00:00
Kyle Carberry 68ceea8a28 test: Fix goroutine leak in peer exchange exit (#370)
Closes #361.
2022-02-27 19:19:02 -06:00
dependabot[bot] f630fc5787 chore: bump actions/setup-node from 2 to 3 (#362)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2 to 3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-25 10:12:52 -06:00
Kyle Carberry 41c3ee72e5 ci: Update DataDog GitHub branch to fallback to GITHUB_REF (#356)
This was detecting branches, but not our "main" branch before.
Hopefully this fixes it!
2022-02-24 16:47:51 +00:00
dependabot[bot] b913ea85e1 chore: bump cloud.google.com/go/compute from 1.4.0 to 1.5.0 (#355)
Bumps [cloud.google.com/go/compute](https://github.com/googleapis/google-cloud-go) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.4.0...pubsub/v1.5.0)

---
updated-dependencies:
- dependency-name: cloud.google.com/go/compute
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-24 10:28:42 -06:00
Kyle Carberry b58e168612 feat: Add peerbroker proxy for agent connections (#349)
* feat: Add peerbroker proxy for agent connections

Agents will connect using this proxy. Eventually we'll intercept
some of these messages for validation, but that's not necessary right now.

* Add ASCII chart
2022-02-23 17:15:03 +00:00
dependabot[bot]andJonathan Yu a053fe84eb chore: bump google.golang.org/api from 0.69.0 to 0.70.0 (#350)
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.69.0 to 0.70.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.69.0...v0.70.0)

---
updated-dependencies:
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Yu <jonathan@coder.com>
2022-02-23 07:54:39 -08:00
dependabot[bot]andJonathan Yu 06b1af12e9 chore: bump cloud.google.com/go/compute from 1.3.0 to 1.4.0 (#351)
Bumps [cloud.google.com/go/compute](https://github.com/googleapis/google-cloud-go) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-cloud-go/compare/kms/v1.3.0...pubsub/v1.4.0)

---
updated-dependencies:
- dependency-name: cloud.google.com/go/compute
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Yu <jonathan@coder.com>
2022-02-23 07:37:41 -08:00
dependabot[bot]andJonathan Yu 8a87ee5194 chore: bump @types/jest from 27.4.0 to 27.4.1 in /site (#353)
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 27.4.0 to 27.4.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Yu <jonathan@coder.com>
2022-02-23 07:27:15 -08:00
dependabot[bot] 480d625da5 chore: bump github.com/pion/webrtc/v3 from 3.1.23 to 3.1.24 (#352)
Bumps [github.com/pion/webrtc/v3](https://github.com/pion/webrtc) from 3.1.23 to 3.1.24.
- [Release notes](https://github.com/pion/webrtc/releases)
- [Commits](https://github.com/pion/webrtc/compare/v3.1.23...v3.1.24)

---
updated-dependencies:
- dependency-name: github.com/pion/webrtc/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-23 08:36:26 -06:00
Bryan 707016a3c5 refactor: Fix front-end lint issues (#347)
Noticed while running through the build steps (`make build`) that we were getting some lint warnings that weren't blocking build:
```sh
./pages/workspaces/[user]/[workspace].tsx
32:58  Warning: Unexpected any. Specify a different type.  @typescript-eslint/no-explicit-any
32:96  Warning: Unexpected any. Specify a different type.  @typescript-eslint/no-explicit-any

./components/Form/FormCloseButton.tsx
26:6  Warning: React Hook useEffect has a missing dependency: 'onClose'. Either include it or remove the dependency array. If 'onClose' changes too often, find the parent component that defines it and wrap that definition in useCallback.  react-hooks/exhaustive-deps

./components/Navbar/UserDropdown.tsx
38:14  Warning: Unnecessary conditional, value is always truthy.  @typescript-eslint/no-unnecessary-condition
68:10  Warning: Unnecessary conditional, value is always truthy.  @typescript-eslint/no-unnecessary-condition

./components/Redirect.tsx
20:6  Warning: React Hook useEffect has missing dependencies: 'router' and 'to'. Either include them or remove the dependency array.  react-hooks/exhaustive-deps

./components/SignIn/SignInForm.tsx
126:19  Warning: Unnecessary optional chain on a non-nullish value.  @typescript-eslint/no-unnecessary-condition
```

It turns out our ESLint config wasn't being picked up, so I fixed that (it wasn't properly named). This PR turns warnings-as-errors on, fixes the issues, and also removes the "Project Create" page, because it isn't used at this time.

Wanted to clean this up before on-boarding more FE developers
2022-02-22 20:10:02 -08:00
Bryan 2e12cb92e5 refactor: Add example of project with resource (#346)
This just adds the most minimal terraform script to provision a resource (the [`null_resource`](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource)) that doesn't require a cloud provider.

With this, we can test creating projects that have an associated resource:
<img width="464" alt="Screen Shot 2022-02-21 at 2 31 54 PM" src="https://user-images.githubusercontent.com/88213859/155033757-372cafbf-b35f-4988-8fbe-af276e22421c.png">
2022-02-22 18:55:45 -08:00
Bryan 1789ba01f7 refactor: Workspace Page - Add section components (#345)
Related #67 

This adds some placeholder `<WorkspaceSection />` components, so that we have a place to put things as we start to add more functionality to the Workspaces page.

Before, this was just the title:
<img width="1465" alt="image" src="https://user-images.githubusercontent.com/88213859/155033271-6fbe3dc1-3a9c-4305-bfe9-5bac73ac8b88.png">

Now, this PR introduces a component to host the sections:
<img width="1466" alt="Screen Shot 2022-02-21 at 2 19 12 PM" src="https://user-images.githubusercontent.com/88213859/155033002-55d853e2-50ab-4d6f-b5c4-ff35b8591a00.png">
2022-02-22 11:10:18 -08:00
Kyle Carberry 8958b641e9 feat: Add agent authentication based on instance ID (#336)
* feat: Add agent authentication based on instance ID

Each cloud has it's own unique instance identity signatures, which
can be used for zero-token authentication. This change adds support
for tracking by "instance_id", and automatically authenticating
with Google Cloud.

* Add test for CLI

* Fix workspace agent request name

* Fix race with adding to wait group

* Fix name of instance identity token
2022-02-21 20:36:29 +00:00
Kyle Carberry 67613da86d feat: Add "projects list" command to the CLI (#333)
This adds a WorkspaceOwnerCount parameter returned from the
projects API. It's helpful to display the amount of usage
a specific project has.
2022-02-21 12:47:08 -06:00
Bryan 59ee22d368 refactor: Add a minimal example of a project with parameters (#331)
Thought it'd be helpful to show a bare-bones example of a project with a parameter, along with references to the Terraform docs so developers can learn about more interesting variable types (and ways to leverage them in expressions).

With this project, we can go through the `projects create` flow of setting a parameter:
<img width="677" alt="Screen Shot 2022-02-18 at 7 53 07 PM" src="https://user-images.githubusercontent.com/88213859/154785203-ab626268-0e51-48c3-b374-3d49d541042b.png">
2022-02-21 09:36:30 -08:00
Kyle Carberry 3b57619bc8 test: Fix login from opening URLs automatically (#334)
When using VS Code's test on save, this was funny behavior 🤣.
2022-02-21 17:10:05 +00:00
Kyle Carberry 693f457cf4 fix: Use forked pion/ice to fix Close() data race (#342)
I introduced a data-race in my fork while fixing the close race.
This is fixed now, and contributed upstream!
2022-02-21 10:47:32 -06:00
Kyle Carberry c85933fe07 fix: Use forked pion/ice to fix Close() race (#341)
Closes #340. A PR is upstream to fix the issue!
2022-02-21 09:56:14 -06:00
dependabot[bot] 0861e259b1 chore: bump eslint-config-prettier from 8.3.0 to 8.4.0 in /site (#338) 2022-02-21 08:18:50 -06:00
dependabot[bot] 70a575d6b9 chore: bump swr from 1.2.1 to 1.2.2 in /site (#339) 2022-02-21 08:02:34 -06:00
Kyle Carberry d04570ad29 fix: Use sync.WaitGroup to await hijacked HTTP connections (#337)
WebSockets hijack the HTTP connection from the server, causing
server.Close() to not wait for these connections to fully cleanup.

This adds a global wait-group to the coderd API, which ensures all
WebSocket HTTP handlers have properly exited before returning.
2022-02-20 16:29:16 -06:00
Jonathan Yu 3c04c7f3e6 chore: install optional dependencies (required for swc) (#335)
* chore: install optional dependencies (required for swc)

* Use install script in Makefile

* add trailing newline
2022-02-20 13:52:14 -06:00
Jonathan Yu 8f843d2364 chore: add script to install yarn dependencies
* Use frozen lockfile in build for reproducible builds
* Do not install optional dependencies
* Suppress interactive prompts in build
2022-02-20 17:43:51 +00:00
Kyle Carberry 91bf8636fb feat: Add workspace agent for SSH (#318)
* feat: Add workspace agent for SSH

This adds the initial agent that supports TTY
and execution over SSH. It functions across MacOS,
Windows, and Linux.

This does not handle the coderd interaction yet,
but does setup a simple path forward.

* Fix pty tests on Windows

* Fix log race

* Lock around dial error to fix log output

* Fix context return early

* fix: Leaking yamux session after HTTP handler is closed

Closes #317. We depended on the context canceling the yamux connection,
but this isn't a sync operation. Explicitly calling close ensures the
handler waits for yamux to complete before exit.

* Lock around close return

* Force failure with log

* Fix failed handler

* Upgrade dep

* Fix defer inside loops

* Fix context cancel for HTTP requests

* Fix resize
2022-02-18 23:13:32 -06:00
Kyle Carberry 65de96c8b4 fix: Leaking yamux session after HTTP handler is closed (#329)
* fix: Leaking yamux session after HTTP handler is closed

Closes #317. The httptest server cancels the context after the connection
is closed, but if a connection takes a long time to close, the request
would never end. This applies a context to the entire listener that cancels
on test cleanup.

After discussion with @bryphe-coder, reducing the parallel limit on
Windows is likely to reduce failures as well.

* Switch to windows-2022 to improve decompression

* Invalidate cache on matrix OS
2022-02-18 22:06:56 -06:00
Jonathan Yu f7b484929f feat: add caching headers for Next.js static assets (#330) 2022-02-18 19:34:56 -08:00
Jonathan Yu 5ef59e7b64 chore: switch from memfs to fstest.MapFS (#327)
* Switch from memfs to built-in fstest.MapFS
* Ensure httptest servers are closed during test cleanup
* Swap ordering of expected/actual values in assertion functions
* Use http.StatusOK constants for status codes
* Add a 1-second context timeout for each request
* Use the test httptest.Server.Client() so that we can handle
  TLS server certificates if desired
2022-02-18 13:03:32 -08:00
Jonathan Yu 37bcfeb398 chore: upgrade docker distribution from 2.7.1 to 2.8.0 (#328)
Fixes a low-severity security vulnerability:
https://github.com/advisories/GHSA-qq97-vm5h-rrhg
2022-02-18 12:52:21 -08:00
Kyle Carberry 5bfdb0cf98 ci: Use GITHUB_BASE_REF as backup if branch isn't set for DataDog (#321)
The change in #313 caused PRs to report "<id>/merge" as the name.
2022-02-18 11:19:06 -06:00
Bryan 6170421044 fix: Install terraform in Docker image to unblock deploy (#319)
Fixes #287 and re-enables our deploy at https://proto.cdr.dev

- Installs `terraform` in our `images/coder/Dockerfile`
- Re-enables our `deploy` GH action

Example of successful deploy run: https://github.com/coder/coder/runs/5241614008?check_suite_focus=true
2022-02-18 09:07:28 -08:00
Kyle Carberry 6bdef0697c test: Fix race condition in provisionerd on cleanup (#322)
These goroutines could be ran after the pipe has already been closed.
I'm not certain this resolves this specific leak:

https://github.com/coder/coder/runs/5249481202?check_suite_focus=true#step:7:186

...but I find it likely.
2022-02-18 10:43:56 -06:00
Jonathan Yu c59c0c9ba6 chore: run "go mod tidy" (#323)
Looks like our linter is missing this step.
2022-02-18 08:23:49 -08:00