Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ac116366e9 | |||
| f8734b3edd | |||
| 0ea7145df1 | |||
| f7a3d2d8f5 | |||
| 18298177f7 | |||
| d9fa81082a | |||
| 651b73545d | |||
| 46505210cd | |||
| abf051afdb | |||
| d4d1a332fb | |||
| a3ed321e14 | |||
| 2bb738ed3f | |||
| 10c8b62818 | |||
| 87abadbbfc | |||
| defc55a5dc | |||
| 6a68e45e7c | |||
| a2fa4b2832 | |||
| 9cfadbfc04 | |||
| 6fed78196e | |||
| db430dd2c9 | |||
| 3618aed39e | |||
| 4c083c7314 | |||
| 3202640cf7 | |||
| c9bbe71869 | |||
| 00edb273cd | |||
| 608b3282dd | |||
| 2888bd5693 | |||
| 90d95da48d | |||
| cb7f9cec2d |
@@ -12,6 +12,8 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
build-and-publish:
|
build-and-publish:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
@@ -78,7 +80,7 @@ jobs:
|
|||||||
prerelease: ${{ contains(steps.tag.outputs.TAG, '-alpha') || contains(steps.tag.outputs.TAG, '-beta') || contains(steps.tag.outputs.TAG, '-rc') }}
|
prerelease: ${{ contains(steps.tag.outputs.TAG, '-alpha') || contains(steps.tag.outputs.TAG, '-beta') || contains(steps.tag.outputs.TAG, '-rc') }}
|
||||||
|
|
||||||
- name: Upload to Nextcloud App Store
|
- name: Upload to Nextcloud App Store
|
||||||
uses: R0Wi/nextcloud-appstore-push-action@v1.0.6
|
uses: R0Wi/nextcloud-appstore-push-action@v1.0.4
|
||||||
with:
|
with:
|
||||||
app_name: ${{ env.APP_NAME }}
|
app_name: ${{ env.APP_NAME }}
|
||||||
appstore_token: ${{ secrets.APPSTORE_TOKEN }}
|
appstore_token: ${{ secrets.APPSTORE_TOKEN }}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.11'
|
python-version: '3.14'
|
||||||
|
|
||||||
- name: Install uv
|
- name: Install uv
|
||||||
run: |
|
run: |
|
||||||
@@ -71,12 +71,29 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Bump MCP server (scope: mcp or unscoped)
|
# Bump MCP server (default - all commits except helm/astrolabe scopes)
|
||||||
echo "Checking MCP server for version bump..."
|
echo "Checking MCP server for version bump..."
|
||||||
if has_commits_since_tag "v[0-9]" "(feat|fix|docs|refactor|perf|test|build|ci|chore)(\(mcp\))?(!)?:"; then
|
|
||||||
|
# Get the most recent MCP tag
|
||||||
|
last_mcp_tag=$(git tag --sort=-creatordate | grep -E "^v[0-9]" | head -n 1 || echo "")
|
||||||
|
|
||||||
|
if [ -z "$last_mcp_tag" ]; then
|
||||||
|
commit_range="master"
|
||||||
|
else
|
||||||
|
commit_range="${last_mcp_tag}..HEAD"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Count conventional commits that are NOT scoped to helm or astrolabe
|
||||||
|
mcp_commit_count=$(git log "$commit_range" --oneline --grep="^(feat|fix|docs|refactor|perf|test|build|ci|chore)" -E | \
|
||||||
|
{ grep -v "(helm)" || true; } | { grep -v "(astrolabe)" || true; } | wc -l)
|
||||||
|
|
||||||
|
if [ "$mcp_commit_count" -gt 0 ]; then
|
||||||
|
echo "Found $mcp_commit_count commits for MCP server since $last_mcp_tag"
|
||||||
echo "Bumping MCP server version..."
|
echo "Bumping MCP server version..."
|
||||||
./scripts/bump-mcp.sh
|
./scripts/bump-mcp.sh
|
||||||
BUMPED_COMPONENTS="$BUMPED_COMPONENTS mcp"
|
BUMPED_COMPONENTS="$BUMPED_COMPONENTS mcp"
|
||||||
|
else
|
||||||
|
echo "No commits found for MCP server since $last_mcp_tag"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Bump Helm chart (scope: helm)
|
# Bump Helm chart (scope: helm)
|
||||||
@@ -108,7 +125,8 @@ jobs:
|
|||||||
- name: Push tags
|
- name: Push tags
|
||||||
if: steps.bump.outputs.bumped == 'true'
|
if: steps.bump.outputs.bumped == 'true'
|
||||||
run: |
|
run: |
|
||||||
git push --follow-tags
|
git push
|
||||||
|
git push --tags
|
||||||
echo "Pushed tags for components:${{ steps.bump.outputs.components }}"
|
echo "Pushed tags for components:${{ steps.bump.outputs.components }}"
|
||||||
|
|
||||||
- name: Summary
|
- name: Summary
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ name: Build and Publish Docker Image
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags: ["*"]
|
tags:
|
||||||
|
- "v*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-and-push:
|
build-and-push:
|
||||||
@@ -33,7 +34,7 @@ jobs:
|
|||||||
type=raw,value=latest,enable={{is_default_branch}}
|
type=raw,value=latest,enable={{is_default_branch}}
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3
|
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
|
||||||
|
|
||||||
- name: Log in to GitHub Container Registry
|
- name: Log in to GitHub Container Registry
|
||||||
if: github.event_name != 'pull_request'
|
if: github.event_name != 'pull_request'
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ jobs:
|
|||||||
|
|
||||||
- name: Run chart-releaser
|
- name: Run chart-releaser
|
||||||
uses: helm/chart-releaser-action@cae68fefc6b5f367a0275617c9f83181ba54714f # v1.7.0
|
uses: helm/chart-releaser-action@cae68fefc6b5f367a0275617c9f83181ba54714f # v1.7.0
|
||||||
|
with:
|
||||||
|
skip_existing: true
|
||||||
env:
|
env:
|
||||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,56 @@ All notable changes to the Nextcloud MCP Server will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [PEP 440](https://peps.python.org/pep-0440/).
|
and this project adheres to [PEP 440](https://peps.python.org/pep-0440/).
|
||||||
|
|
||||||
|
## v0.56.2 (2025-12-20)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: screenshots in info.xml
|
||||||
|
- **astrolabe**: screenshots in info.xml
|
||||||
|
|
||||||
|
## v0.56.1 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: Update screenshots
|
||||||
|
- **ci**: skip existing Helm chart releases to prevent duplicate release errors
|
||||||
|
|
||||||
|
## v0.56.0 (2025-12-19)
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- **ci**: add --increment flag to bump scripts for manual version control
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: add contents:write permission to appstore workflow
|
||||||
|
- **astrolabe**: update commitizen pattern to properly update info.xml version
|
||||||
|
- **astrolabe**: prevent workflow failure when only helm/astrolabe commits exist
|
||||||
|
- **astrolabe**: info.xml
|
||||||
|
|
||||||
|
## v0.55.1 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **ci**: push all tags explicitly in bump workflow
|
||||||
|
|
||||||
|
## v0.55.0 (2025-12-19)
|
||||||
|
|
||||||
|
### BREAKING CHANGE
|
||||||
|
|
||||||
|
- MCP server now bumps for ANY conventional commit except
|
||||||
|
those explicitly scoped to helm or astrolabe.
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- **ci**: implement monorepo-aware version bumping workflow
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **ci**: make MCP server default bump target for all non-scoped commits
|
||||||
|
- **ci**: restrict docker build to MCP server tags only
|
||||||
|
- **ci**: correct appstore-push-action version to v1.0.4
|
||||||
|
|
||||||
## v0.54.0 (2025-12-19)
|
## v0.54.0 (2025-12-19)
|
||||||
|
|
||||||
### Feat
|
### Feat
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ name: nextcloud-mcp-server
|
|||||||
description: A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with Nextcloud
|
description: A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with Nextcloud
|
||||||
type: application
|
type: application
|
||||||
version: 0.54.0
|
version: 0.54.0
|
||||||
appVersion: "0.54.0"
|
appVersion: "0.56.2"
|
||||||
keywords:
|
keywords:
|
||||||
- nextcloud
|
- nextcloud
|
||||||
- mcp
|
- mcp
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@ services:
|
|||||||
# Mount OIDC development directory outside /var/www/html to avoid rsync conflicts
|
# Mount OIDC development directory outside /var/www/html to avoid rsync conflicts
|
||||||
# The post-installation hook will register /opt/apps as an additional app directory
|
# The post-installation hook will register /opt/apps as an additional app directory
|
||||||
#- ./third_party:/opt/apps:ro
|
#- ./third_party:/opt/apps:ro
|
||||||
- ./third_party/astrolabe:/opt/apps/astrolabe:ro
|
#- ./third_party/astrolabe:/opt/apps/astrolabe:ro
|
||||||
environment:
|
environment:
|
||||||
- NEXTCLOUD_TRUSTED_DOMAINS=app
|
- NEXTCLOUD_TRUSTED_DOMAINS=app
|
||||||
- NEXTCLOUD_ADMIN_USER=admin
|
- NEXTCLOUD_ADMIN_USER=admin
|
||||||
|
|||||||
+4
-4
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "nextcloud-mcp-server"
|
name = "nextcloud-mcp-server"
|
||||||
version = "0.54.0"
|
version = "0.56.2"
|
||||||
description = "Model Context Protocol (MCP) server for Nextcloud integration - enables AI assistants to interact with Nextcloud data"
|
description = "Model Context Protocol (MCP) server for Nextcloud integration - enables AI assistants to interact with Nextcloud data"
|
||||||
authors = [
|
authors = [
|
||||||
{name = "Chris Coutinho", email = "chris@coutinho.io"}
|
{name = "Chris Coutinho", email = "chris@coutinho.io"}
|
||||||
@@ -101,10 +101,10 @@ ignored_tag_formats = [
|
|||||||
"astrolabe-v*", # Astrolabe tags
|
"astrolabe-v*", # Astrolabe tags
|
||||||
]
|
]
|
||||||
|
|
||||||
# Filter commits by scope (mcp or unscoped)
|
# Filter commits by scope (all scopes except helm and astrolabe)
|
||||||
[tool.commitizen.customize]
|
[tool.commitizen.customize]
|
||||||
changelog_pattern = "^(feat|fix|docs|refactor|perf|test|build|ci|chore)(\\(mcp\\))?(!)?:"
|
changelog_pattern = "^(feat|fix|docs|refactor|perf|test|build|ci|chore)(?!\\((?:helm|astrolabe)\\))(\\([^)]+\\))?(!)?:"
|
||||||
schema_pattern = "^(feat|fix|docs|refactor|perf|test|build|ci|chore)(\\(mcp\\))?(!)?:\\s.+"
|
schema_pattern = "^(feat|fix|docs|refactor|perf|test|build|ci|chore)(?!\\((?:helm|astrolabe)\\))(\\([^)]+\\))?(!)?:\\s.+"
|
||||||
|
|
||||||
[tool.ruff.lint]
|
[tool.ruff.lint]
|
||||||
extend-select = ["I"]
|
extend-select = ["I"]
|
||||||
|
|||||||
@@ -2,6 +2,22 @@
|
|||||||
# Bump Astrolabe app version
|
# Bump Astrolabe app version
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Parse optional --increment flag
|
||||||
|
INCREMENT=""
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
--increment)
|
||||||
|
INCREMENT="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "❌ Error: Unknown option: $1" >&2
|
||||||
|
echo "Usage: $0 [--increment PATCH|MINOR|MAJOR]" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# Validate dependencies
|
# Validate dependencies
|
||||||
command -v uv >/dev/null 2>&1 || {
|
command -v uv >/dev/null 2>&1 || {
|
||||||
echo "❌ Error: uv not found" >&2
|
echo "❌ Error: uv not found" >&2
|
||||||
@@ -29,9 +45,18 @@ if [ ! -f "package.json" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Bumping Astrolabe version..."
|
echo "Bumping Astrolabe version..."
|
||||||
|
if [ -n "$INCREMENT" ]; then
|
||||||
|
echo " Forcing $INCREMENT bump"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build commitizen command
|
||||||
|
CZ_CMD="uv run cz --config .cz.toml bump --yes"
|
||||||
|
if [ -n "$INCREMENT" ]; then
|
||||||
|
CZ_CMD="$CZ_CMD --increment $INCREMENT"
|
||||||
|
fi
|
||||||
|
|
||||||
# Run commitizen bump and capture output
|
# Run commitizen bump and capture output
|
||||||
if ! output=$(uv run cz --config .cz.toml bump --yes 2>&1); then
|
if ! output=$($CZ_CMD 2>&1); then
|
||||||
cd ../..
|
cd ../..
|
||||||
echo "❌ Error: Version bump failed" >&2
|
echo "❌ Error: Version bump failed" >&2
|
||||||
echo "$output" >&2
|
echo "$output" >&2
|
||||||
|
|||||||
+26
-1
@@ -2,6 +2,22 @@
|
|||||||
# Bump Helm chart version
|
# Bump Helm chart version
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Parse optional --increment flag
|
||||||
|
INCREMENT=""
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
--increment)
|
||||||
|
INCREMENT="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "❌ Error: Unknown option: $1" >&2
|
||||||
|
echo "Usage: $0 [--increment PATCH|MINOR|MAJOR]" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# Validate dependencies
|
# Validate dependencies
|
||||||
command -v uv >/dev/null 2>&1 || {
|
command -v uv >/dev/null 2>&1 || {
|
||||||
echo "❌ Error: uv not found" >&2
|
echo "❌ Error: uv not found" >&2
|
||||||
@@ -24,9 +40,18 @@ if [ ! -f "Chart.yaml" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Bumping Helm chart version..."
|
echo "Bumping Helm chart version..."
|
||||||
|
if [ -n "$INCREMENT" ]; then
|
||||||
|
echo " Forcing $INCREMENT bump"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build commitizen command
|
||||||
|
CZ_CMD="uv run cz --config .cz.toml bump --yes"
|
||||||
|
if [ -n "$INCREMENT" ]; then
|
||||||
|
CZ_CMD="$CZ_CMD --increment $INCREMENT"
|
||||||
|
fi
|
||||||
|
|
||||||
# Run commitizen bump and capture output
|
# Run commitizen bump and capture output
|
||||||
if ! output=$(uv run cz --config .cz.toml bump --yes 2>&1); then
|
if ! output=$($CZ_CMD 2>&1); then
|
||||||
cd ../..
|
cd ../..
|
||||||
echo "❌ Error: Version bump failed" >&2
|
echo "❌ Error: Version bump failed" >&2
|
||||||
echo "$output" >&2
|
echo "$output" >&2
|
||||||
|
|||||||
+26
-1
@@ -2,6 +2,22 @@
|
|||||||
# Bump MCP server version
|
# Bump MCP server version
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Parse optional --increment flag
|
||||||
|
INCREMENT=""
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
--increment)
|
||||||
|
INCREMENT="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "❌ Error: Unknown option: $1" >&2
|
||||||
|
echo "Usage: $0 [--increment PATCH|MINOR|MAJOR]" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# Validate dependencies
|
# Validate dependencies
|
||||||
command -v uv >/dev/null 2>&1 || {
|
command -v uv >/dev/null 2>&1 || {
|
||||||
echo "❌ Error: uv not found" >&2
|
echo "❌ Error: uv not found" >&2
|
||||||
@@ -16,9 +32,18 @@ if [ ! -f "pyproject.toml" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Bumping MCP server version..."
|
echo "Bumping MCP server version..."
|
||||||
|
if [ -n "$INCREMENT" ]; then
|
||||||
|
echo " Forcing $INCREMENT bump"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build commitizen command
|
||||||
|
CZ_CMD="uv run cz bump --yes"
|
||||||
|
if [ -n "$INCREMENT" ]; then
|
||||||
|
CZ_CMD="$CZ_CMD --increment $INCREMENT"
|
||||||
|
fi
|
||||||
|
|
||||||
# Run commitizen bump and capture output
|
# Run commitizen bump and capture output
|
||||||
if ! output=$(uv run cz bump --yes 2>&1); then
|
if ! output=$($CZ_CMD 2>&1); then
|
||||||
echo "❌ Error: Version bump failed" >&2
|
echo "❌ Error: Version bump failed" >&2
|
||||||
echo "$output" >&2
|
echo "$output" >&2
|
||||||
echo "" >&2
|
echo "" >&2
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ echo "Testing commitizen scope filtering patterns..."
|
|||||||
echo
|
echo
|
||||||
|
|
||||||
# Regex patterns from configs
|
# Regex patterns from configs
|
||||||
MCP_PATTERN='^(feat|fix|docs|refactor|perf|test|build|ci|chore)(\(mcp\))?(!)?:'
|
MCP_PATTERN='^(feat|fix|docs|refactor|perf|test|build|ci|chore)(?!\((?:helm|astrolabe)\))(\([^)]+\))?(!)?:'
|
||||||
HELM_PATTERN='^(feat|fix|docs|refactor|perf|test|build|ci|chore)\(helm\)(!)?:'
|
HELM_PATTERN='^(feat|fix|docs|refactor|perf|test|build|ci|chore)\(helm\)(!)?:'
|
||||||
ASTROLABE_PATTERN='^(feat|fix|docs|refactor|perf|test|build|ci|chore)\(astrolabe\)(!)?:'
|
ASTROLABE_PATTERN='^(feat|fix|docs|refactor|perf|test|build|ci|chore)\(astrolabe\)(!)?:'
|
||||||
|
|
||||||
@@ -14,7 +14,8 @@ test_pattern() {
|
|||||||
local message="$1"
|
local message="$1"
|
||||||
local pattern="$2"
|
local pattern="$2"
|
||||||
|
|
||||||
if echo "$message" | grep -qE "$pattern"; then
|
# Use grep -P for Perl-compatible regex (supports negative lookahead)
|
||||||
|
if echo "$message" | grep -qP "$pattern"; then
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
@@ -61,11 +62,14 @@ run_test() {
|
|||||||
failed=0
|
failed=0
|
||||||
passed=0
|
passed=0
|
||||||
|
|
||||||
# MCP server commits (scope=mcp or unscoped)
|
# MCP server commits (any scope except helm/astrolabe)
|
||||||
run_test "feat: add new feature" "mcp" && passed=$((passed+1)) || failed=$((failed+1))
|
run_test "feat: add new feature" "mcp" && passed=$((passed+1)) || failed=$((failed+1))
|
||||||
run_test "feat(mcp): add API endpoint" "mcp" && passed=$((passed+1)) || failed=$((failed+1))
|
run_test "feat(mcp): add API endpoint" "mcp" && passed=$((passed+1)) || failed=$((failed+1))
|
||||||
run_test "fix(mcp): resolve authentication bug" "mcp" && passed=$((passed+1)) || failed=$((failed+1))
|
run_test "fix(mcp): resolve authentication bug" "mcp" && passed=$((passed+1)) || failed=$((failed+1))
|
||||||
run_test "docs: update README" "mcp" && passed=$((passed+1)) || failed=$((failed+1))
|
run_test "docs: update README" "mcp" && passed=$((passed+1)) || failed=$((failed+1))
|
||||||
|
run_test "fix(ci): update workflow" "mcp" && passed=$((passed+1)) || failed=$((failed+1))
|
||||||
|
run_test "feat(api): add endpoint" "mcp" && passed=$((passed+1)) || failed=$((failed+1))
|
||||||
|
run_test "ci: configure GitHub Actions" "mcp" && passed=$((passed+1)) || failed=$((failed+1))
|
||||||
|
|
||||||
# Helm chart commits
|
# Helm chart commits
|
||||||
run_test "feat(helm): add resource limits" "helm" && passed=$((passed+1)) || failed=$((failed+1))
|
run_test "feat(helm): add resource limits" "helm" && passed=$((passed+1)) || failed=$((failed+1))
|
||||||
@@ -82,10 +86,10 @@ run_test "feat(mcp)!: breaking API change" "mcp" && passed=$((passed+1)) || fail
|
|||||||
run_test "feat(helm)!: rename values" "helm" && passed=$((passed+1)) || failed=$((failed+1))
|
run_test "feat(helm)!: rename values" "helm" && passed=$((passed+1)) || failed=$((failed+1))
|
||||||
run_test "feat(astrolabe)!: remove deprecated feature" "astrolabe" && passed=$((passed+1)) || failed=$((failed+1))
|
run_test "feat(astrolabe)!: remove deprecated feature" "astrolabe" && passed=$((passed+1)) || failed=$((failed+1))
|
||||||
|
|
||||||
# Invalid commits (should not match any)
|
# Edge cases
|
||||||
run_test "feat(invalid): test" "none" && passed=$((passed+1)) || failed=$((failed+1))
|
run_test "feat(invalid): test" "mcp" && passed=$((passed+1)) || failed=$((failed+1)) # Any scope except helm/astrolabe → MCP
|
||||||
run_test "random commit message" "none" && passed=$((passed+1)) || failed=$((failed+1))
|
run_test "random commit message" "none" && passed=$((passed+1)) || failed=$((failed+1)) # Not conventional commit
|
||||||
run_test "feat (mcp): space before scope" "none" && passed=$((passed+1)) || failed=$((failed+1))
|
run_test "feat (mcp): space before scope" "none" && passed=$((passed+1)) || failed=$((failed+1)) # Invalid format
|
||||||
|
|
||||||
# Summary
|
# Summary
|
||||||
echo
|
echo
|
||||||
|
|||||||
Vendored
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
[tool.commitizen]
|
[tool.commitizen]
|
||||||
name = "cz_conventional_commits"
|
name = "cz_conventional_commits"
|
||||||
version = "0.2.0"
|
version = "0.4.4"
|
||||||
tag_format = "astrolabe-v$version"
|
tag_format = "astrolabe-v$version"
|
||||||
version_scheme = "semver"
|
version_scheme = "semver"
|
||||||
update_changelog_on_bump = true
|
update_changelog_on_bump = true
|
||||||
@@ -8,7 +8,7 @@ major_version_zero = true
|
|||||||
|
|
||||||
# Update Astrolabe-specific files only
|
# Update Astrolabe-specific files only
|
||||||
version_files = [
|
version_files = [
|
||||||
"appinfo/info.xml:version",
|
"appinfo/info.xml:<version>",
|
||||||
"package.json:version"
|
"package.json:version"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Vendored
+60
@@ -25,6 +25,66 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Requires external MCP server deployment
|
- Requires external MCP server deployment
|
||||||
- See documentation for setup: https://github.com/cbcoutinho/nextcloud-mcp-server
|
- See documentation for setup: https://github.com/cbcoutinho/nextcloud-mcp-server
|
||||||
|
|
||||||
|
## astrolabe-v0.4.4 (2025-12-20)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: screenshots in info.xml
|
||||||
|
|
||||||
|
## astrolabe-v0.4.3 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: screenshots in info.xml
|
||||||
|
|
||||||
|
## astrolabe-v0.4.2 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: Update screenshots
|
||||||
|
- **ci**: skip existing Helm chart releases to prevent duplicate release errors
|
||||||
|
|
||||||
|
## astrolabe-v0.4.1 (2025-12-19)
|
||||||
|
|
||||||
|
## astrolabe-v0.4.0 (2025-12-19)
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- **ci**: add --increment flag to bump scripts for manual version control
|
||||||
|
|
||||||
|
## astrolabe-v0.3.2 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: add contents:write permission to appstore workflow
|
||||||
|
|
||||||
|
## astrolabe-v0.3.1 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: update commitizen pattern to properly update info.xml version
|
||||||
|
|
||||||
|
## astrolabe-v0.3.0 (2025-12-19)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **astrolabe**: prevent workflow failure when only helm/astrolabe commits exist
|
||||||
|
- **astrolabe**: info.xml
|
||||||
|
|
||||||
|
## astrolabe-v0.2.1 (2025-12-19)
|
||||||
|
|
||||||
|
### BREAKING CHANGE
|
||||||
|
|
||||||
|
- MCP server now bumps for ANY conventional commit except
|
||||||
|
those explicitly scoped to helm or astrolabe.
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- **ci**: push all tags explicitly in bump workflow
|
||||||
|
- **ci**: make MCP server default bump target for all non-scoped commits
|
||||||
|
- **ci**: restrict docker build to MCP server tags only
|
||||||
|
- **ci**: correct appstore-push-action version to v1.0.4
|
||||||
|
|
||||||
## astrolabe-v0.2.0 (2025-12-19)
|
## astrolabe-v0.2.0 (2025-12-19)
|
||||||
|
|
||||||
### BREAKING CHANGE
|
### BREAKING CHANGE
|
||||||
|
|||||||
+5
-3
@@ -29,14 +29,16 @@ Astrolabe connects to a semantic search service that understands the meaning of
|
|||||||
|
|
||||||
See [documentation](https://github.com/cbcoutinho/nextcloud-mcp-server) for configuration details.
|
See [documentation](https://github.com/cbcoutinho/nextcloud-mcp-server) for configuration details.
|
||||||
]]></description>
|
]]></description>
|
||||||
<version>0.2.0</version>
|
<version>0.4.4</version>
|
||||||
<licence>agpl</licence>
|
<licence>agpl</licence>
|
||||||
<author mail="chris@coutinho.io" homepage="https://github.com/cbcoutinho">Chris Coutinho</author>
|
<author homepage="https://github.com/cbcoutinho">Chris Coutinho</author>
|
||||||
<namespace>Astrolabe</namespace>
|
<namespace>Astrolabe</namespace>
|
||||||
<category>ai</category>
|
<category>ai</category>
|
||||||
<bugs>https://github.com/cbcoutinho/nextcloud-mcp-server/issues</bugs>
|
<bugs>https://github.com/cbcoutinho/nextcloud-mcp-server/issues</bugs>
|
||||||
<repository type="git">https://github.com/cbcoutinho/nextcloud-mcp-server</repository>
|
<repository type="git">https://github.com/cbcoutinho/nextcloud-mcp-server</repository>
|
||||||
<screenshot>https://raw.githubusercontent.com/cbcoutinho/nextcloud-mcp-server/master/docs/images/mcp-ui-screenshot.png</screenshot>
|
<screenshot>https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/third_party/astrolabe/screenshots/02-semantic-search-with-plot.png?raw=1</screenshot>
|
||||||
|
<screenshot>https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/third_party/astrolabe/screenshots/01-unified-search-astrolabe.png?raw=1</screenshot>
|
||||||
|
<screenshot>https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/third_party/astrolabe/screenshots/03-chunk-viewer-open.png?raw=1</screenshot>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<nextcloud min-version="30" max-version="32"/>
|
<nextcloud min-version="30" max-version="32"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "astrolabe",
|
"name": "astrolabe",
|
||||||
"version": "0.2.0",
|
"version": "0.4.4",
|
||||||
"license": "AGPL-3.0-or-later",
|
"license": "AGPL-3.0-or-later",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^22.0.0",
|
"node": "^22.0.0",
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 218 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 204 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 736 KiB |
Vendored
+1
-1
Submodule third_party/oidc updated: 860a10cd05...8473b8497b
@@ -1988,7 +1988,7 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nextcloud-mcp-server"
|
name = "nextcloud-mcp-server"
|
||||||
version = "0.54.0"
|
version = "0.56.2"
|
||||||
source = { editable = "." }
|
source = { editable = "." }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "aiosqlite" },
|
{ name = "aiosqlite" },
|
||||||
|
|||||||
Reference in New Issue
Block a user