Skip to content

docs: update deployment.go feature stages and script to reflect current stages #17975

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 35 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
a8a640f
chore: fall back to `gh auth login` for update_experiments.sh script
bpmct May 20, 2025
b4ed9d2
refactor: update experiment parsing script to use ExperimentsSafe ins…
bpmct May 20, 2025
89144e9
docs: add prebuilds experiment
bpmct May 20, 2025
6bc8796
bump version
bpmct May 20, 2025
ba5ce86
chore: reduce `ignore_changes` suggestion scope (#17947)
EdwardAngert May 20, 2025
83424ed
chore(coderd/rbac): add `Action{Create,Delete}Agent` to `ResourceWork…
EdwardAngert May 20, 2025
068a293
fmt (🤞)
bpmct May 20, 2025
38b093d
fmt
bpmct May 20, 2025
f6e5735
chore: replace MUI icons with Lucide icons - 17 (#17957)
EdwardAngert May 21, 2025
030d77e
docs: explain coder:// link for RDP (#17901)
EdwardAngert May 21, 2025
4b347db
feat: add Claude.md initial draft (#17785)
EdwardAngert May 21, 2025
a707538
chore: ignore 'session shutdown' yamux error in tests (#17964)
EdwardAngert May 21, 2025
1727e42
refactor: update provisioners column copy (#17949)
EdwardAngert May 21, 2025
312eacb
feat: improve transaction safety in CompleteJob function (#17970)
EdwardAngert May 21, 2025
df73eca
fix: show diagnostics if there are no parameters (#17967)
EdwardAngert May 21, 2025
6cc69c0
fix: update textarea to fit content height and set a max height (#17946)
EdwardAngert May 21, 2025
8dfd38b
Add feature stages documentation and update script
EdwardAngert May 20, 2025
e576175
Improve docs script to avoid duplicate end markers
EdwardAngert May 21, 2025
3405d6c
Refactor feature stages to use deployment.go as source of truth
EdwardAngert May 21, 2025
509c2fb
Remove unused workdir variable in docs_update_experiments.sh
May 21, 2025
6028875
Update deployment.go and feature-stages.md for feature stages documen…
May 21, 2025
2f6a564
update documentation script to fix spacing in tables
EdwardAngert May 21, 2025
422586f
make
EdwardAngert May 21, 2025
1011f34
feat: add experimental workspace parameters page for dynamic params (…
EdwardAngert May 21, 2025
44370a7
refactor: show unhealthy status on workspace status indicator (#17956)
EdwardAngert May 21, 2025
dad7d9c
chore: replace MUI Button - 3 (#17955)
EdwardAngert May 21, 2025
a3cbf87
chore: replace MUI icons with Lucide icons - update 18 (#17958)
EdwardAngert May 21, 2025
d9d2263
fix: reduce cost of prebuild failure (#17697)
EdwardAngert May 21, 2025
becaee6
remove GetDocsPath
EdwardAngert May 21, 2025
39a2876
remove GetDocsPath comment
EdwardAngert May 21, 2025
21635c8
all beta and ea
EdwardAngert May 21, 2025
4a21d5a
chore: fix autoversion script and update experiments/docs to v2.22.1 …
EdwardAngert May 22, 2025
cb82ecc
Merge branch 'main' into update-feature-stages
EdwardAngert May 22, 2025
27ea63d
fix: resolve merge conflict in feature-stages docs
EdwardAngert May 22, 2025
144fa64
make
EdwardAngert May 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
make
  • Loading branch information
EdwardAngert committed May 22, 2025
commit 144fa648f899b2ea5b19aa4da27a62203fabcbbc
6 changes: 3 additions & 3 deletions docs/install/releases/feature-stages.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ If you encounter an issue with any Coder feature, please submit a
## Feature stages

| Feature stage | Stable | Production-ready | Support | Description |
| -------------------------------------- | ------ | ---------------- | --------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
|----------------------------------------|--------|------------------|-----------------------|-------------------------------------------------------------------------------------------------------------------------------|
| [Early Access](#early-access-features) | No | No | GitHub issues | For staging only. Not feature-complete or stable. Disabled by default. |
| [Beta](#beta) | No | Not fully | Docs, Discord, GitHub | Publicly available. In active development with minor bugs. Suitable for staging; optional for production. Not covered by SLA. |
| [GA](#general-availability-ga) | Yes | Yes | License-based | Stable and tested. Enabled by default. Fully documented. Support based on license. |
Expand Down Expand Up @@ -66,7 +66,7 @@ You can opt-out of a feature after you've enabled it.
<!-- BEGIN: available-experimental-features -->

| Feature Flag | Name | Available in |
| ----------------- | -------------------------- | ---------------------- |
|-------------------|----------------------------|------------------------|
| `dev-containers` | Dev Containers Integration | main, mainline, stable |
| `securing-agents` | Securing AI Agents | main, mainline, stable |

Expand Down Expand Up @@ -108,7 +108,7 @@ available in the documentation.
<!-- BEGIN: beta-features -->

| Feature Flag | Name | Available in |
| --------------------- | ------------------- | ---------------------- |
|-----------------------|---------------------|------------------------|
| `agentic-chat` | AI Coding Agents | main, mainline, stable |
| `coder-desktop` | Coder Desktop | main, mainline, stable |
| `workspace-prebuilds` | Prebuilt workspaces | main, mainline, stable |
Expand Down
42 changes: 21 additions & 21 deletions scripts/release/docs_update_experiments.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,15 @@ echo_latest_stable_version() {
echo "stable"
return
fi

# Try to get latest stable version, fallback to "stable" if it fails
version=$(curl -fsSLI -o /dev/null -w "%{url_effective}" https://github.com/coder/coder/releases/latest 2>/dev/null || echo "error")
if [[ "${version}" == "error" || -z "${version}" ]]; then
log "Warning: Failed to fetch latest stable version. Using 'stable' as placeholder."
echo "stable"
return
fi

version="${version#https://github.com/coder/coder/releases/tag/v}"
echo "v${version}"
}
Expand All @@ -58,23 +58,23 @@ echo_latest_mainline_version() {
echo "mainline"
return
fi

# Try to get the latest mainline version, fallback to "mainline" if it fails
local version
version=$(curl -fsSL -H "Authorization: token ${GITHUB_TOKEN}" https://api.github.com/repos/coder/coder/releases 2>/dev/null |
version=$(curl -fsSL -H "Authorization: token ${GITHUB_TOKEN}" https://api.github.com/repos/coder/coder/releases 2>/dev/null |
awk -F'"' '/"tag_name"/ {print $4}' |
tr -d v |
tr . ' ' |
sort -k1,1nr -k2,2nr -k3,3nr |
head -n1 |
tr ' ' . || echo "")

if [[ -z "${version}" ]]; then
log "Warning: Failed to fetch latest mainline version. Using 'mainline' as placeholder."
echo "mainline"
return
fi

echo "v${version}"
}

Expand All @@ -86,7 +86,7 @@ sparse_clone_codersdk() {
echo ""
return
fi

# Always return success with a placeholder directory
echo "${1}/${2}"
}
Expand Down Expand Up @@ -140,13 +140,13 @@ EOT
extract_version_experiment_info() {
local dir=$1
local version=$2

if [[ "${GH_AVAILABLE}" == "false" || -z "${dir}" ]]; then
# If GitHub isn't available, just set all features to the same version
extract_local_experiment_info | jq --arg version "${version}" '[.[] | . + {"versions": [$version]}]'
return
fi

# For simplicity and stability, let's just use the local experiments
# and mark them as available in the specified version.
# This avoids the complex Go module replacement that can be error-prone
Expand All @@ -158,42 +158,42 @@ combine_experiment_info() {
local workdir=$1
local stable_version=$2
local mainline_version=$3

# Extract information from different versions
local local_info stable_info mainline_info
local_info=$(extract_local_experiment_info)

if [[ "${GH_AVAILABLE}" == "true" ]]; then
# Create sparse clones and extract info
local stable_dir mainline_dir

stable_dir=$(sparse_clone_codersdk "${workdir}" "stable" "${stable_version}")
if [[ -n "${stable_dir}" ]]; then
stable_info=$(extract_version_experiment_info "${stable_dir}" "stable")
else
# Fallback if sparse clone failed
stable_info=$(extract_local_experiment_info | jq '[.[] | . + {"versions": ["stable"]}]')
fi

mainline_dir=$(sparse_clone_codersdk "${workdir}" "mainline" "${mainline_version}")
if [[ -n "${mainline_dir}" ]]; then
mainline_info=$(extract_version_experiment_info "${mainline_dir}" "mainline")
else
# Fallback if sparse clone failed
mainline_info=$(extract_local_experiment_info | jq '[.[] | . + {"versions": ["mainline"]}]')
fi

# Cleanup
rm -rf "${workdir}"
else
# If GitHub isn't available, just mark everything as available in all versions
stable_info=$(extract_local_experiment_info | jq '[.[] | . + {"versions": ["stable"]}]')
mainline_info=$(extract_local_experiment_info | jq '[.[] | . + {"versions": ["mainline"]}]')
fi

# Add 'main' version to local info
local_info=$(echo "${local_info}" | jq '[.[] | . + {"versions": ["main"]}]')

# Combine all info
echo '[]' | jq \
--argjson local "${local_info}" \
Expand All @@ -215,20 +215,20 @@ combine_experiment_info() {
# Generate the early access features table
generate_experiments_table() {
local experiment_info=$1

echo "| Feature Flag | Name | Available in |"
echo "|-------------|------|--------------|"

echo "${experiment_info}" | jq -r '.[] | select(.stage=="early access") | "| `\(.value)` | \(.description) | \(.versions | join(", ")) |"'
}

# Generate the beta features table
generate_beta_table() {
local experiment_info=$1

echo "| Feature Flag | Name | Available in |"
echo "|-------------|------|--------------|"

echo "${experiment_info}" | jq -r '.[] | select(.stage=="beta") | "| `\(.value)` | \(.description) | \(.versions | join(", ")) |"'
}

Expand Down Expand Up @@ -315,4 +315,4 @@ rm -f /tmp/ea_content.md /tmp/beta_content.md
rm -f "${dest}.bak"

# Format the file with prettier
(cd site && pnpm exec prettier --cache --write ../"${dest}")
(cd site && pnpm exec prettier --cache --write ../"${dest}")
Loading