You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 15, 2025. It is now read-only.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+36-14Lines changed: 36 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,8 @@ Follow the instructions to ensure that Bun is available globally. Once Bun has b
22
22
23
23
## Testing a Module
24
24
25
-
> **Note:** It is the responsibility of the module author to implement tests for their module. The author must test the module locally before submitting a PR.
25
+
> [!NOTE]
26
+
> It is the responsibility of the module author to implement tests for their module. The author must test the module locally before submitting a PR.
26
27
27
28
A suite of test-helpers exists to run `terraform apply` on modules with variables, and test script output against containers.
28
29
@@ -53,23 +54,44 @@ module "example" {
53
54
54
55
## Releases
55
56
56
-
> [!WARNING]
57
-
> When creating a new release, make sure that your new version number is fully accurate. If a version number is incorrect or does not exist, we may end up serving incorrect/old data for our various tools and providers.
57
+
The release process is automated with these steps:
58
+
59
+
## 1. Create and Merge PR
60
+
61
+
- Create a PR with your module changes
62
+
- Get your PR reviewed, approved, and merged to `main`
63
+
64
+
## 2. Prepare Release (Maintainer Task)
65
+
66
+
After merging to `main`, a maintainer will:
67
+
68
+
- View all modules and their current versions:
69
+
70
+
```shell
71
+
./release.sh --list
72
+
```
73
+
74
+
- Determine the next version number based on changes:
Much of our release process is automated. To cut a new release:
80
+
- Create and push an annotated tag:
60
81
61
-
1. Navigate to [GitHub's Releases page](https://github.com/coder/modules/releases)
62
-
2. Click "Draft a new release"
63
-
3. Click the "Choose a tag" button and type a new release number in the format `v<major>.<minor>.<patch>` (e.g., `v1.18.0`). Then click "Create new tag".
64
-
4. Click the "Generate release notes" button, and clean up the resulting README. Be sure to remove any notes that would not be relevant to end-users (e.g., bumping dependencies).
65
-
5. Once everything looks good, click the "Publish release" button.
82
+
```shell
83
+
# Fetch latest changes
84
+
git fetch origin
85
+
86
+
# Create and push tag
87
+
./release.sh module-name 1.2.3 --push
88
+
```
66
89
67
-
Once the release has been cut, a script will run to check whether there are any modules that will require that the new release number be published to Terraform. If there are any, a new pull request will automatically be generated. Be sure to approve this PR and merge it into the `main` branch.
90
+
The tag format will be: `release/module-name/v1.2.3`
68
91
69
-
Following that, our automated processes will handle publishing new data for [`registry.coder.com`](https://github.com/coder/registry.coder.com/):
92
+
## 3. Publishing to Registry
70
93
71
-
1. Publishing new versions to Coder's [Terraform Registry](https://registry.terraform.io/providers/coder/coder/latest)
72
-
2. Publishing new data to the [Coder Registry](https://registry.coder.com)
94
+
Our automated processes will handle publishing new data to [registry.coder.com](https://registry.coder.com).
73
95
74
96
> [!NOTE]
75
-
> Some data in `registry.coder.com` is fetched on demand from the Module repo's main branch. This data should be updated almost immediately after a new release, but other changes will take some time to propagate.
97
+
> Some data in registry.coder.com is fetched on demand from the [coder/modules](https://github.com/coder/modules) repo's `main` branch. This data should update almost immediately after a release, while other changes will take some time to propagate.
0 commit comments