chore: move update-version to ci (#301)

pull/304/head v1.0.19
Muhammad Atif Ali 7 months ago committed by GitHub
parent fb81c8969f
commit bd6747f9bc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -27,6 +27,8 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with:
fetch-depth: 0 # Needed to get tags
- uses: oven-sh/setup-bun@v2 - uses: oven-sh/setup-bun@v2
with: with:
bun-version: latest bun-version: latest
@ -38,3 +40,16 @@ jobs:
uses: crate-ci/typos@v1.17.2 uses: crate-ci/typos@v1.17.2
- name: Lint - name: Lint
run: bun lint run: bun lint
- name: Check version
shell: bash
run: |
# check for version changes
./update-version.sh
# Check if any changes were made in README.md files
if [[ -n "$(git status --porcelain -- '**/README.md')" ]]; then
echo "Version mismatch detected. Please run ./update-version.sh and commit the updated README.md files."
git diff -- '**/README.md'
exit 1
else
echo "No version mismatch detected. All versions are up to date."
fi

@ -1,42 +0,0 @@
name: Update README on Tag
on:
workflow_dispatch:
push:
tags:
- 'v*'
jobs:
update-readme:
permissions:
contents: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get the latest tag
id: get-latest-tag
run: echo "TAG=$(git describe --tags --abbrev=0 | sed 's/^v//')" >> $GITHUB_OUTPUT
- name: Run update script
run: ./update-version.sh
- name: Create Pull Request
id: create-pr
uses: peter-evans/create-pull-request@v5
with:
commit-message: 'chore: bump version to ${{ env.TAG }} in README.md files'
title: 'chore: bump version to ${{ env.TAG }} in README.md files'
body: 'This is an auto-generated PR to update README.md files of all modules with the new tag ${{ env.TAG }}'
branch: 'update-readme-branch'
base: 'main'
env:
TAG: ${{ steps.get-latest-tag.outputs.TAG }}
- name: Auto-approve
uses: hmarr/auto-approve-action@v4
if: github.ref == 'refs/heads/update-readme-branch'

@ -16,7 +16,7 @@ Uses the [Coder Remote VS Code Extension](https://github.com/coder/cursor-coder)
```tf ```tf
module "cursor" { module "cursor" {
source = "registry.coder.com/modules/cursor/coder" source = "registry.coder.com/modules/cursor/coder"
version = "1.0.18" version = "1.0.19"
agent_id = coder_agent.example.id agent_id = coder_agent.example.id
} }
``` ```
@ -28,7 +28,7 @@ module "cursor" {
```tf ```tf
module "cursor" { module "cursor" {
source = "registry.coder.com/modules/cursor/coder" source = "registry.coder.com/modules/cursor/coder"
version = "1.0.18" version = "1.0.19"
agent_id = coder_agent.example.id agent_id = coder_agent.example.id
folder = "/home/coder/project" folder = "/home/coder/project"
} }

@ -14,7 +14,7 @@ A file browser for your workspace.
```tf ```tf
module "filebrowser" { module "filebrowser" {
source = "registry.coder.com/modules/filebrowser/coder" source = "registry.coder.com/modules/filebrowser/coder"
version = "1.0.18" version = "1.0.19"
agent_id = coder_agent.example.id agent_id = coder_agent.example.id
} }
``` ```
@ -28,7 +28,7 @@ module "filebrowser" {
```tf ```tf
module "filebrowser" { module "filebrowser" {
source = "registry.coder.com/modules/filebrowser/coder" source = "registry.coder.com/modules/filebrowser/coder"
version = "1.0.18" version = "1.0.19"
agent_id = coder_agent.example.id agent_id = coder_agent.example.id
folder = "/home/coder/project" folder = "/home/coder/project"
} }
@ -39,7 +39,7 @@ module "filebrowser" {
```tf ```tf
module "filebrowser" { module "filebrowser" {
source = "registry.coder.com/modules/filebrowser/coder" source = "registry.coder.com/modules/filebrowser/coder"
version = "1.0.18" version = "1.0.19"
agent_id = coder_agent.example.id agent_id = coder_agent.example.id
database_path = ".config/filebrowser.db" database_path = ".config/filebrowser.db"
} }

@ -16,7 +16,7 @@ A module that adds Jupyter Notebook in your Coder template.
```tf ```tf
module "jupyter-notebook" { module "jupyter-notebook" {
source = "registry.coder.com/modules/jupyter-notebook/coder" source = "registry.coder.com/modules/jupyter-notebook/coder"
version = "1.0.8" version = "1.0.19"
agent_id = coder_agent.example.id agent_id = coder_agent.example.id
} }
``` ```

@ -16,7 +16,7 @@ A module that adds JupyterLab in your Coder template.
```tf ```tf
module "jupyterlab" { module "jupyterlab" {
source = "registry.coder.com/modules/jupyterlab/coder" source = "registry.coder.com/modules/jupyterlab/coder"
version = "1.0.8" version = "1.0.19"
agent_id = coder_agent.example.id agent_id = coder_agent.example.id
} }
``` ```

@ -1,20 +1,24 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# This script updates the version number in the README.md files of all modules # This script increments the version number in the README.md files of all modules
# to the latest tag in the repository. It is intended to be run from the root # by 1 patch version. It is intended to be run from the root
# of the repository or by using the `bun update-version` command. # of the repository or by using the `bun update-version` command.
set -euo pipefail set -euo pipefail
current_tag=$(git describe --tags --abbrev=0) current_tag=$(git describe --tags --abbrev=0)
previous_tag=$(git describe --tags --abbrev=0 $current_tag^)
mapfile -t changed_dirs < <(git diff --name-only "$previous_tag"..."$current_tag" -- ':!**/README.md' ':!**/*.test.ts' | xargs dirname | grep -v '^\.' | sort -u)
LATEST_TAG=$(git describe --abbrev=0 --tags | sed 's/^v//') || exit $? # Increment the patch version
LATEST_TAG=$(echo "$current_tag" | sed 's/^v//' | awk -F. '{print $1"."$2"."$3+1}') || exit $?
# List directories with changes that are not README.md or test files
mapfile -t changed_dirs < <(git diff --name-only "$current_tag" -- ':!**/README.md' ':!**/*.test.ts' | xargs dirname | grep -v '^\.' | sort -u)
echo "Directories with changes: ${changed_dirs[*]}"
# Iterate over directories and update version in README.md
for dir in "${changed_dirs[@]}"; do for dir in "${changed_dirs[@]}"; do
if [[ -f "$dir/README.md" ]]; then if [[ -f "$dir/README.md" ]]; then
echo "Bumping version in $dir/README.md"
file="$dir/README.md" file="$dir/README.md"
tmpfile=$(mktemp /tmp/tempfile.XXXXXX) tmpfile=$(mktemp /tmp/tempfile.XXXXXX)
awk -v tag="$LATEST_TAG" '{ awk -v tag="$LATEST_TAG" '{
@ -25,5 +29,12 @@ for dir in "${changed_dirs[@]}"; do
print print
} }
}' "$file" > "$tmpfile" && mv "$tmpfile" "$file" }' "$file" > "$tmpfile" && mv "$tmpfile" "$file"
# Check if the README.md file has changed
if ! git diff --quiet -- "$dir/README.md"; then
echo "Bumping version in $dir/README.md from $current_tag to $LATEST_TAG (incremented)"
else
echo "Version in $dir/README.md is already up to date"
fi
fi fi
done done

Loading…
Cancel
Save