41 Commits

Author SHA1 Message Date
Garrett Delfosse
5558a32a48
Revert "fix: skip deploying to the dev registry (#168)"
This reverts commit 9aacddef1a8e23bf73d3ca2d45789d081b483fdd.
2025-07-02 10:20:32 -04:00
Hugo Dutka
9aacddef1a
fix: skip deploying to the dev registry (#168)
The workflow doesn't work currently.
2025-07-02 13:08:54 +02:00
DevCats
a47ff911e1
fix: Version-Bump Workflow/Script - Formatting before diff (#155)
## Description

Set up Pre-Req's, and ensure that formatting is done before checking
diff since it likes to not respect prettier formatting.

---

## Type of Change

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

---

## Testing & Validation

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

---------

Co-authored-by: Atif Ali <atif@coder.com>
2025-06-19 16:35:10 -05:00
DevCats
960ec18d35
fix: clean up version-bump workflow script output handling (#153)
## Description

Removed unnecessary comments and added commands to reset the working
directory and clean untracked files in the version-bump workflow. This
improves the script's reliability by ensuring a clean state after
executing version checks.

---

## Type of Change

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

---

## Related Issues

None
2025-06-16 19:52:56 -05:00
DevCats
eae64160bd
fix: update GitHub Actions permissions in version-bump workflow (#152)
## Description

update GitHub Actions permissions in version-bump workflow by adding
issues permission for commenting on PR's

---

## Type of Change

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

---

## Related Issues

None
2025-06-16 14:32:09 -05:00
Benjamin Peinhardt
05124309ee
feat: add templates and update icon paths (#144)
This PR copies the templates in coder/coder/examples/templates over to
the registry, so that template contribution can be done through the
registry.
For now, the starter templates in the coder/coder binary and the
templates available in coder/registry will simply be different
constructs, until we find a solution we like around a single source of
truth for templates that doesn't raise hairy semver concerns for
coder/coder:
https://codercom.slack.com/archives/C05T7165ET1/p1749493368773469
2025-06-12 13:06:46 -05:00
DevCats
e54ceb3b92
fix: replace broken multi-template PR system with unified template (#143)
Unifies the broken Multi-PR Template I introduced.
2025-06-10 21:18:18 -05:00
blink-so[bot]
f5bf6687e7
feat: extract version bump logic into reusable script (#140)
# Extract Version Bump Logic into Reusable Script

This PR extracts the version bump logic from the GitHub Actions workflow
(PR #137) into a reusable script and implements the requirements as
requested.

##  What This PR Delivers

### 🔧 **Version Bump Script**: `.github/scripts/version-bump.sh`
- Extracts all version bump logic from the original workflow
- Supports `patch`, `minor`, and `major` version bumps
- Configurable base reference for diff comparison (defaults to
`origin/main`)
- Comprehensive error handling and semantic version validation
- Can be used standalone or in workflows

### 🔍 **Version Check Workflow**: `.github/workflows/version-check.yaml`
- **Required CI check** that runs on all PRs modifying modules
- Verifies that module versions have been properly updated
- Fails if versions need bumping but haven't been updated
- Provides clear instructions on how to fix version issues

### 🚀 **Version Bump Workflow**: `.github/workflows/version-bump.yaml`
- Simplified workflow that uses the extracted script
- Triggered by PR labels (`version:patch`, `version:minor`,
`version:major`)
- Automatically commits version updates and comments on PR

### 📚 **Updated Documentation**: `CONTRIBUTING.md`
- Clear instructions on how to use the version bump script
- Examples for different bump types
- Information about PR labels as an alternative
- Explains that CI will check version updates

## 🎯 Key Features

 **Script Logic Extracted**: All complex bash logic moved from workflow
to reusable script
 **Required CI Check**: Version check workflow ensures versions are
updated
 **Diff Verification**: Script checks git diff to detect modified
modules
 **Contribution Docs Updated**: Clear instructions for contributors  
 **Backward Compatible**: Maintains all original functionality  
 **Error Handling**: Comprehensive validation and clear error messages

## 📖 Usage Examples

```bash
# For bug fixes
./.github/scripts/version-bump.sh patch

# For new features  
./.github/scripts/version-bump.sh minor

# For breaking changes
./.github/scripts/version-bump.sh major
```

## 🔄 Workflow Integration

1. **Developer makes changes** to modules
2. **CI runs version-check** workflow automatically
3. **If versions need updating**, CI fails with instructions
4. **Developer runs script** or adds PR label
5. **Versions get updated** automatically
6. **CI passes** and PR can be merged

## 🧪 Testing

The script has been tested with:
-  Valid and invalid bump types
-  Module detection from git diff
-  Version calculation and validation
-  README version updates
-  Error handling for edge cases

This implementation addresses all the original requirements while making
the logic more maintainable and reusable.

---------

Co-authored-by: blink-so[bot] <211532188+blink-so[bot]@users.noreply.github.com>
Co-authored-by: DevelopmentCats <christofer@coder.com>
2025-06-10 21:17:39 -05:00
dependabot[bot]
7cf60c4e59
chore(deps): bump crate-ci/typos from 1.32.0 to 1.33.1 (#142)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-10 14:00:06 +05:00
Atif Ali
e9870049bb
chore: deploy only on tag pushes (#139)
Resolves #68
2025-06-05 07:10:13 +02:00
DevCats
cc40d6c355
docs: Update and split Contribution docs. (#122)
Co-authored-by: Atif Ali <atif@coder.com>
2025-06-03 16:18:36 +05:00
Callum Styan
8b6a80b82d
ci: add golangci-lint and fix existing lint failures (#118)
This PR adds `golangci-lint` based on the configuration from
`coder/coder`
([here](https://github.com/coder/coder/blob/main/.golangci.yaml)) then
migrated to v2 using `golangci-lint migrate` plus the addition of few
more linters.

---------

Signed-off-by: Callum Styan <callumstyan@gmail.com>
2025-05-29 10:24:35 -07:00
Michael Smith
ae6cf8c366
fix: add build step for deployment registry (#110)
## Changes made
- Updated the `deploy-registry` script to include steps for pushing to
the production registry
2025-05-19 12:18:14 -04:00
dependabot[bot]
55c9829a27
chore(deps): bump google-github-actions/auth from 2.1.8 to 2.1.10 (#109)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-19 15:51:02 +05:00
Michael Smith
22a8b2614b
chore: add deploy script (#15)
Helps close out https://github.com/coder/internal/milestone/10

## Changes made
- Added `deploy-registry.yaml` workflow
2025-05-16 10:27:09 -04:00
dependabot[bot]
efed015f3a
chore(deps): bump crate-ci/typos from 1.31.1 to 1.32.0
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.31.1 to 1.32.0.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.31.1...v1.32.0)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 07:43:28 +00:00
Michael Smith
45dc925f8b
fix: update repo structure validation logic to disallow false positives (#10)
* refactor: update file structure to reflect new changes

* refactor: start splitting up files

* refactor: more domain splitting

* refactor: remove directory validation from contributors file

* fix: update repo structure checks

* fix: improve check for user namespace subdirectories

* docs: add missing words to comment

* docs: update typo

* refactor: make code easier to read

* fix: update README files

* fix: remove employer field entirely

* fix: make Github field optional

* refactor: rename files
2025-05-02 11:23:52 -04:00
Michael Smith
9e18a4e3a8
chore: add prettier/typo check to CI (#14)
## Changes made
- Added back CI steps for validating the codebase for typos and formatting
- Updated README validation CI step to be dependent on typo-checking step
- Updated configuration files as needed to support the new CI step
- Updated all files that were previously getting skipped over from improperly-set-up CI logic
2025-04-29 10:09:22 -04:00
Michael Smith
9404ad9a53
chore: add Success! The configuration is valid. (#16)
More work towards closing https://github.com/coder/internal/issues/532

## Changes made
- Added Bash script to run `terraform validate` on all relevant repos
- Updated `package.json` and CI to use the script
2025-04-29 09:51:04 -04:00
Michael Smith
9780217535 fix: add back cron script 2025-04-22 15:07:02 +00:00
Michael Smith
494a25e688 fix: make site health check eaiser to use 2025-04-22 14:35:20 +00:00
Michael Smith
87468aadb8 fix: disable cron site check 2025-04-17 23:07:43 +00:00
Michael Smith
5829345413 fix: update script path 2025-04-17 18:02:01 +00:00
Michael Smith
9356d8c67f fix: restructure modules repo to reflect current status 2025-04-17 15:06:01 +00:00
Michael Smith
376664ca04
chore: migrate all Coder modules to Registry repo (#4)
Addresses part of https://github.com/coder/internal/issues/532 (but doesn't fully close it out).

This is a huge PR, but chunking it up seemed pointless, since we're largely copying over existing files. I'm going to try commenting on the main areas I think are worth paying attention to

## Changes made
- Migrated over all Coder modules from coder/modules, and put them in their correct user namespaces.
- Added README.md files to all newly-created user namespaces
- Updated all image paths for every image used, to make sure they don't break (I switched the paths programmatically, and then manually verified every README to guarantee this).
- Added README.md files for each contributor who previously made a module
- Updated our `tsconfig.json` file to use modern libraries when run from the server, and made a custom `tsconfig.json` just for the `windows-rdp` module (which has more restrictive browser concerns)
- Added CI step to run all the module tests we currently have

## Notes
- There were a lot of Bash script files that weren't carried over in this PR, partly because I don't know Bash well enough to know (1) whether they're still needed, or (2) modify them to account for the new file structure. Those can be brought over later.
- We had a `lint.ts` file that provided some light validation of some of the modules. After going through it, there were so many bugs and issues with the code that I legitimately think that it barely provided a safety net at all. I got rid of it entirely, with the intention of adding the functionality that was originally intended to the current validation logic (to be handled in a separate PR).
- I changed how we set up the `.images` directory, because it felt like it would be chaos if a bunch of users try to throw all their images in one giant directory, with no guidelines on how to do it. I instead made it so that images should be scoped by namespace, which felt a lot more manageable. The `.icons` directory is still at the top level, because realistically, there are only going to be so many types of icons referenced, so it's fine for those to be shared.
- I don't think the `maintainer_github` and `contributor_github` fields make sense anymore, but those can be stripped out once we've updated the Registry site build step to use the new Registry repo
   - My gut instinct is to use the user namespace to determine the main owner of the module, and then add a `contributors` string list to indicate which other users have contributed meaningfully to it. We can then add validation to make sure that every value in that list exists as another namespace in the repo

## What still needs to be migrated (in separate PRs)
These are the main files of interest that still probably need to be copied over from the `/modules` repo:
- `new.sh`
- `terraform_validate.sh`
- `update-version.sh`

They're probably going to require enough changes that it's worth handling them in a separate PR.
2025-04-17 09:49:54 -04:00
Michael Smith
50d651c2f9 fix: update CI step 2025-04-14 13:57:02 +00:00
Michael Smith
abf9815a84 fix: update static files 2025-04-10 20:40:54 +00:00
Michael Smith
bc4bbdaa07 fix: remove unnecessary matrix 2025-04-09 19:25:48 +00:00
Michael Smith
e035f1fca3 chore: beef up CI 2025-04-09 15:26:22 +00:00
Michael Smith
88f7be27ec chore: set up initial version of CI 2025-04-09 15:01:08 +00:00
Michael Smith
36ebd8d68b fix: update script to be runnable from root directory 2025-04-08 20:26:24 +00:00
Michael Smith
df2e47e51e refactor: remove unnecessary intermediary data types 2025-04-08 20:11:43 +00:00
Michael Smith
e20e679e08 wip: scaffold relative URL validation 2025-04-08 20:02:52 +00:00
Michael Smith
23f1cee640 fix: remove accidental segfault 2025-04-08 19:32:49 +00:00
Michael Smith
2b9da92259 refactor: remove goto statements 2025-04-08 19:28:33 +00:00
Michael Smith
629f4b3a65 chore: rename directory for script 2025-04-08 18:53:44 +00:00
Michael Smith
b19132140a fix: make logging better 2025-04-08 17:29:34 +00:00
Michael Smith
da735dafd6 fix: remove parsing bugs 2025-04-08 17:12:28 +00:00
Michael Smith
1906520b4a chore: add logs for better feedback 2025-04-08 16:31:25 +00:00
Michael Smith
902b32fd29 wip: commit more progress on script 2025-04-08 16:07:07 +00:00
Michael Smith
a5c4495e3e wip: commit progress on CI validation script 2025-04-08 15:22:51 +00:00