Commit Graph
8811 Commits
Author SHA1 Message Date
Danny KoppingandMuhammad Atif Ali 5b72a4376d chore: improve CI reliability (#16169)
We have an effort underway to replace `dbmem` (#15109), and consequently
we've begun running our full test-suite (with Postgres) on all supported
OSs - Windows, MacOS, and Linux, since #15520.

Since this change, we've seen a marked decrease in the success rate of
our builds on `main` (note how the Windows/MacOS failures account for
the vast majority of failed builds):


![image](https://github.com/user-attachments/assets/a02c15b7-037d-428a-a600-2aed60553ac0)

We're still investigating why these OSs are a lot less reliable. It's
likely that the VMs on which the builds are run have different
characteristics from our Ubuntu runners such as disk I/O, network
latency, or something else.

**In the meantime, we need to start trusting CI failures in `main`
again, as the current failures are too noisy / vague for us to
correct.**

We've also considered hosting our own runners where possible so we can
get OS-level observability to rule out some possibilities.

See the [meeting
notes](https://www.notion.so/coderhq/CI-Investigation-Call-Notes-17dd579be59280d8897cc9fe4bb46695?pvs=6&utm_content=17dd579b-e592-80d8-897c-c9fe4bb46695&utm_campaign=T1ZPT2FL0&n=slack&n=slack_link_unfurl)
where we linked into this for more detail.

This PR introduces several changes:

1. Moves the full test-suite with Postgres on Windows/MacOS to the
`nightly-gauntlet` workflow
tradeoff: this means that any regressions may be more difficult to
discover since we merge to main several times a day
2. Run only the CLI test-suite on each PR / merge to `main` on
Windows/MacOS
3. `test-go` is still running the full test-suite against all OSs
(including the CLI ones), but will soon be removed once #15109 is
completed since it uses `dbmem`
4. Changes `nightly-gauntlet` to run at 4AM: we've seen several
instances of the runner being stopped externally, and we're _guessing_
this may have something to do with the midnight UTC execution time, when
other cron jobs may run
5. Removes the existing `nightly-gauntlet` jobs since they haven't
passed in a long time, indicating that nobody cares enough to fix them
and they don't provide diagnostic value; we can restore them later if
necessary

I've manually run both these new workflows successfully:

- `ci`:
https://github.com/coder/coder/actions/runs/12825874176/job/35764724907
- `nightly-gauntlet`:
https://github.com/coder/coder/actions/runs/12825539092

---------

Signed-off-by: Danny Kopping <danny@coder.com>
Co-authored-by: Muhammad Atif Ali <atif@coder.com>
2025-01-20 07:06:33 +00:00
Phorcys 738a7f6bd9 fix(examples/templates/docker): persist /home/coder instead of /home/${local.user} (#16189)
Fix for #16188
2025-01-19 08:41:55 +05:00
Jaayden Halko fbc2a73bef fix: add groups to deployment settings (#16185)
fixes #16182 

<img width="1177" alt="Screenshot 2025-01-17 at 23 20 04"
src="https://github.com/user-attachments/assets/e0eec4bb-6b50-45e9-a27b-d3a89552562a"
/>
<img width="1163" alt="Screenshot 2025-01-17 at 23 20 12"
src="https://github.com/user-attachments/assets/d8a7129c-0240-4ef5-9f21-84cda5631366"
/>
<img width="1161" alt="Screenshot 2025-01-17 at 23 20 22"
src="https://github.com/user-attachments/assets/0ec78f3d-ec96-46a6-8def-aad4700712ac"
/>
2025-01-17 19:46:28 -05:00
Phorcys 5cc7c439f3 chore(dogfood): delete lazygit and doctl archives after installing (#16184) 2025-01-18 09:08:53 +10:00
Phorcys 04a48b8327 chore(dogfood): add doctl (#16136) 2025-01-18 06:15:05 +10:00
4f438e71cf docs: fix broken links (#16179)
Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: Cian Johnston <cian@coder.com>
2025-01-17 13:18:48 -05:00
Steven Masley f34e6fd92c chore: implement 'use' verb to template object, read has less scope now (#16075)
Template `use` is now a verb.
- Template admins can `use` all templates (org template admins same in
org)
- Members get the `use` perm from the `everyone` group in the
`group_acl`.
2025-01-17 11:55:41 -06:00
Bruno Quaresma 3217cb85f6 feat: improve usage visibility (#16134)
- Refactor the DAUs chart for clarity by improving the description and updating its title to better reflect the data.  
- Add a license consumption chart to the licenses page.
2025-01-17 12:37:54 -03:00
Mathias Fredriksson 08ffcb74c6 test(Makefile): retry pulling postgres in test-postgres-docker (#16178) 2025-01-17 15:22:50 +00:00
Mathias Fredriksson 7cf62423ec test(cli): fix TestSSH/RemoteForward_Unix_Signal flake (#16172) 2025-01-17 16:53:09 +02:00
Mathias Fredriksson ea8cd55404 test(scaletest/createworkspaces): fix ctx init in multiple tests (#16177) 2025-01-17 14:43:22 +00:00
Mathias Fredriksson f32f7c6862 test(enterprise/coderd): fix ctx init in multiple workspace tests (#16176) 2025-01-17 14:33:58 +00:00
Jaayden Halko 0697308a0b fix: correctly display loading spinner (#16167)
Update the usages of the new spinner component to correctly set the
loading prop
2025-01-17 09:14:23 -05:00
Mathias Fredriksson 7f46e3b1e0 test(Makefile): fix postgresql memory usage (#16170) 2025-01-17 16:07:11 +02:00
Bruno Quaresma eda8190eee feat: open app in tab or slim-window (#16152)
Close https://github.com/coder/terraform-provider-coder/issues/297
2025-01-17 10:01:44 -03:00
Mathias Fredriksson e693b66b47 test(coderd/autobuild): fix context initialization in tests (#16173) 2025-01-17 14:51:53 +02:00
Mathias Fredriksson 860d17ad09 test(cli): fix context init in TestSupportBundle (#16174) 2025-01-17 14:51:38 +02:00
Mathias Fredriksson de874442f8 test(cli/exptest): fix context in TestScaleTestWorkspaceTraffic_UseHostLogin (#16171) 2025-01-17 14:51:24 +02:00
ケイラ cbe300448c chore: improve announcement banner color picker (#16158) 2025-01-16 16:55:17 -07:00
ケイラ 60c4d87113 fix: make announcement editor multiline (#16157) 2025-01-16 12:38:09 -07:00
Thomas Kosiewski 5722f9a2a3 fix(codersdk): fix typo in telemetry option description (#16151)
Fixed typos in telemetry help text by adding spaces between "personal information" and "telemetry when"

Change-Id: I897c5918c6661f9c16fdcb503c1c50e74c8f343a
Signed-off-by: Thomas Kosiewski <tk@coder.com>
2025-01-16 19:21:07 +01:00
Muhammad Atif Ali b3ba0f96f1 chore: use better PR titles for cherry-pick-bot PRs (#16165) 2025-01-16 15:54:03 +00:00
Sas Swart 50bf5ca8fe fix(coderd/database): aggregate user engagement statistics by interval (#16150)
This PR addresses the TODO comment here:

https://github.com/coder/coder/pull/16134/files#diff-1844f895bb005f036da11d800fe2a76b54bfddd481c5d8cb15f210c64679caa5R47

The backend now backfills entries for dates with no status changes.
2025-01-16 17:34:53 +02:00
dependabot[bot] 296dbf0918 chore: bump google.golang.org/api from 0.214.0 to 0.216.0 (#16113)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-16 19:06:16 +05:00
Cian Johnston 3a81aac318 chore(enterprise/coderd): use filesystem mirror for providers in TestWorkspaceTagsTerraform (#16155)
Fixes https://github.com/coder/internal/issues/266 (hopefully)

Each instance of this test has to download the coder/coder Terraform
provider.
To mitigate this, only download the providers once using a
`filesystem_mirror` (ref:
https://developer.hashicorp.com/terraform/cli/config/config-file#provider-installation)
2025-01-15 20:27:18 +00:00
Bruno Quaresma 2052b55904 chore: add link component (#16156)
Component based on [Link
design](https://www.figma.com/design/WfqIgsTFXN2BscBSSyXWF8/Coder-kit?node-id=245-144&p=f&m=dev)
2025-01-15 16:43:27 -03:00
Thomas Kosiewski 0ec48ad990 fix(flake.nix): fix coder binary build (#16154)
Change-Id: I2adc511dd7b4de4e221e74234ec1eae743589caf
Signed-off-by: Thomas Kosiewski <tk@coder.com>
2025-01-15 19:25:36 +01:00
Thomas Kosiewski ad02b741d5 fix(flake.nix): fix site build & add missing inputs for darwin hosts (#16153)
- update `flake.nix`:
  - use `devShells.default` instead of `devShell`
  - include macOS-specific build inputs
  - use the same nodejs version in the default devShell and pnpm frontend build
- update `site/.npmrc` to include tarball URLs for a reproducible Nix build.

Change-Id: I28f0e301298806f251121cc93224740bcc02bcba
Signed-off-by: Thomas Kosiewski <tk@coder.com>
2025-01-15 19:16:40 +01:00
Danielle Maywood 3e3de0588a fix: send workspace create/update notifications to template admins only (#16071)
Relates to https://github.com/coder/coder/issues/15845

Rather than sending the notification to the user, we send it to the
template admins. We also do not send it to the person that created the
request.
2025-01-15 17:43:11 +00:00
ケイラ cd62e3934a feat: add a page to showcase the local installation script (#16122) 2025-01-15 10:42:14 -07:00
Stephen KirbyandEdwardAngert d29ef9cc5c chore(docs): mention skipped january mainline release in calendar (#16138)
We've skipped the January release as most of our engineering team was on
holiday. We'll continue this practice annually.

---------

Co-authored-by: EdwardAngert <EdwardAngert@users.noreply.github.com>
2025-01-15 11:19:04 -06:00
Thomas Kosiewski e7f108145a fix(flake.nix): install locales on linux host devShells (#16120)
Change-Id: I22dba63d317b41749c807a55e15278006cdcecad
Signed-off-by: Thomas Kosiewski <tk@coder.com>

- Adds neovim and fzf to development tools, removes sapling, and fixes locale issues on Linux systems. 
- Updates Dockerfile.nix syntax to use uppercase `AS` to remove warnings. 
- Refactored conditional logic for strace inclusion using `lib.optional`.
2025-01-15 17:14:55 +01:00
Eng Zer Jun 92d02ad6cb chore: update github.com/cespare/xxhash to v2 (#16094)
`github.com/cespare/xxhash/v2` is the latest version with bug fixes and
improvements. No breaking changes, see
https://go.dev/play/p/4fisKvMhrGR.

Affected lines of code are: 

-
https://github.com/coder/coder/blob/8b9763dd2c5d82046c99437d8acdeaa6b552e8c4/provisioner/terraform/timings.go#L202-L205

-
https://github.com/coder/coder/blob/8b9763dd2c5d82046c99437d8acdeaa6b552e8c4/provisioner/terraform/internal/timings_test_utils.go#L90-L91

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2025-01-15 17:03:29 +02:00
Vincent Vielle a160e8f06c chore(coderd): remove the window option in open_in (#16104)
As we worked on adding a `open_in` parameter for workspace_apps - we
initially created three options :
- window
- slim_window
- tab

After further investigation, `window` should not be used and has to be
removed.

ℹ️ I decided to remove the option instead of deprecating it as we've not
created any release nor documented the feature. Can be discussed.
2025-01-15 15:26:31 +01:00
dependabot[bot] b4fde801f5 chore: bump golang.org/x/tools from 0.28.0 to 0.29.0 in the x group across 1 directory (#16149)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 13:58:12 +00:00
dependabot[bot] 188d822238 chore: bump github.com/spf13/afero from 1.11.0 to 1.12.0 (#16110)
Bumps [github.com/spf13/afero](https://github.com/spf13/afero) from
1.11.0 to 1.12.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 13:42:09 +00:00
dependabot[bot] 9bb3319f3a chore: bump alpine from 3.21.0 to 3.21.2 in /scripts (#16107)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 18:40:43 +05:00
dependabot[bot] 085268640b chore: bump github.com/go-playground/validator/v10 from 10.23.0 to 10.24.0 (#16111)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 18:39:51 +05:00
Dean Sheather 0ecd38c434 chore: remove Tokyo server from dogfood (#16146) 2025-01-15 13:33:48 +00:00
Bruno Quaresma 91fd0c1eab refactor: set min width as 80px for buttons (#16145)
During a [design
discussion](https://www.figma.com/design/OR75XeUI0Z3ksqt1mHsNQw?node-id=1849-2788#1091281774),
I realized that buttons should have a minimum width of 80px.

<img width="304" alt="attachment"
src="https://github.com/user-attachments/assets/55bc444e-b156-442f-9ccd-1dc84bbce7e5"
/>
2025-01-15 10:03:01 -03:00
Sas Swart ab880904e2 feat(coderd/database): order user engagement statistics by date (#16142)
This PR orders user engagement statistics by date as mentioned
[here](https://github.com/coder/coder/pull/16134/files#diff-1844f895bb005f036da11d800fe2a76b54bfddd481c5d8cb15f210c64679caa5R47)
2025-01-15 13:19:25 +02:00
Ethan a252d13724 chore: exclude otlp trace provider from slim builds (#16140)
This adds a build flag to `exporter.go` in `coderd/tracing` that skips
compiling the file in slim builds. This file brings in some relatively
hefty dependencies that were growing the size of the slim binary a few
megabytes. All files that import `exporter.go` also aren't included in
slim builds, so this is safe.

We end up saving 5.4MB on the Linux slim binary.
2025-01-15 20:51:32 +11:00
Ethan 2413106f22 fix: improve shell compatibility of netstat check in test (#16141)
When I wrote the original just the other day, I used `$?`, which is fine
on CI and in most cases, but not when the person running the test has
their system shell set to fish (Fish uses $status) instead. In the
interest of letting this test pass locally, I'll instead just grab the
line count of the grep output. However, `wc` is padded on macos with
spaces, so we need to get rid of those too.
2025-01-15 03:23:53 +00:00
Stephen Kirby 53806906ea chore(docs): tweak replica verbiage on reference architectures (#16076)
A seller noted that the `/` operator made the node count hard to
interpret.
2025-01-14 16:26:10 -06:00
ケイラ a450121e74 feat: bundle a local version of install.sh (#16064) 2025-01-14 11:30:39 -07:00
Mathias Fredriksson 5a89e89d7e chore(dogfood): unminimize ubuntu image to include man pages (#16133) 2025-01-14 19:10:18 +02:00
Cian Johnston 12991ff43e fix(coderd): change the order of precedence between coder_workspace_tags and request tags (#16119)
This PR switches the order of precedence of workspace tags when posting
a template version.
Previously, user-specified tags in the request could not override those
detected from our parsing of the template file. Now, they can do.

This addresses a customer issue where were attempting to set a workspace
tag via variable.

Note: there is a possible follow-up item here where we could pass in the
workspace tag values from the request into `tfparse` and let it take
those user-specified values into account. This is covered in a separate
test.
2025-01-14 16:43:42 +00:00
Mathias Fredriksson 071bb26018 feat(coderd): add endpoint to list provisioner daemons (#16028)
Updates #15190
Updates #15084
Supersedes #15940
2025-01-14 16:40:26 +00:00
Cian Johnston d7809ecf3f fix(scripts/coder-dev.sh): silence output if stdout is not a TTY (#16131)
The `make -j` output was sometimes emitting non-JSON output from `go
generate`, resulting in errors like the below:

```
++ /home/coder/src/coder/coder/scripts/coder-dev.sh organizations show me -o json
++ jq -r '.[] | select(.is_default) | .name'
parse error: Invalid numeric literal at line 1, column 3
```

This PR modifies `coder-dev.sh` to silence the output of `make` if the
output is not a TTY.
2025-01-14 14:34:23 +00:00
Bruno Quaresma 473fcc33a5 chore: add Chart component (#16118)
Related to https://github.com/coder/coder/issues/15297 and based on
[this
design](https://www.figma.com/design/gtVchocIWPGYjzaHD2OIY7/Setting-page?node-id=16-1848&m=dev).
2025-01-14 09:04:14 -03:00