Skip to content

chore(version): bump version to 1.0.4 to test release workflow #3

chore(version): bump version to 1.0.4 to test release workflow

chore(version): bump version to 1.0.4 to test release workflow #3

Workflow file for this run

# .github/workflows/release.yml
name: Auto Release
on:
push:
branches: [main]
paths: ['pyproject.toml'] # Only trigger when pyproject.toml changes
jobs:
check-version-bump:
runs-on: ubuntu-latest
outputs:
should-release: ${{ steps.check.outputs.should-release }}
new-version: ${{ steps.check.outputs.new-version }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2 # Need to compare with previous commit
- name: Set up uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Check if version was bumped
id: check
run: |
# Get current version
CURRENT_VERSION=$(uv version | cut -d' ' -f2)
echo "Current version: $CURRENT_VERSION"
# Get previous version from git (before this commit)
git checkout HEAD~1 -- pyproject.toml || true
PREVIOUS_VERSION=$(uv version | cut -d' ' -f2) 2>/dev/null || echo "0.0.0"
git checkout HEAD -- pyproject.toml
echo "Previous version: $PREVIOUS_VERSION"
# Check if version actually changed
if [[ "$CURRENT_VERSION" != "$PREVIOUS_VERSION" ]]; then
echo "✅ Version bump detected: $PREVIOUS_VERSION → $CURRENT_VERSION"
echo "should-release=true" >> $GITHUB_OUTPUT
echo "new-version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
else
echo "ℹ️ No version change detected"
echo "should-release=false" >> $GITHUB_OUTPUT
fi
release:
needs: check-version-bump
if: needs.check-version-bump.outputs.should-release == 'true'
runs-on: ubuntu-latest
env:
VERSION: ${{ needs.check-version-bump.outputs.new-version }}
permissions:
contents: write
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Set up Bun
uses: oven-sh/setup-bun@v1
- name: Create release tag
run: |
set -e
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
if git tag -l "v$VERSION" | grep -q "v$VERSION"; then
echo "⚠️ Tag v$VERSION already exists, skipping tag creation"
else
git tag "v$VERSION"
git push origin "v$VERSION"
echo "✅ Created and pushed tag v$VERSION"
fi
- name: Update manifest.json version
run: |
set -e
sed -i 's/"version": ".*"/"version": "'$VERSION'"/' manifest.json
echo "✅ Updated manifest.json to version $VERSION"
- name: Commit manifest update
run: |
set -e
git add manifest.json
if git diff --staged --quiet; then
echo "ℹ️ No changes to commit"
else
git commit -m "chore(dxt): update manifest.json version to v$VERSION [skip ci]"
git push origin main
echo "✅ Committed manifest.json update"
fi
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker images
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: |
stickerdaniel/linkedin-mcp-server:${{ env.VERSION }}
stickerdaniel/linkedin-mcp-server:latest
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Optimize uv cache for CI
run: uv cache prune --ci
- name: Build DXT extension
run: bunx @anthropic-ai/dxt pack
- name: Create GitHub Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ env.VERSION }}
files: |
*.dxt
generate_release_notes: true
draft: false
prerelease: false
name: "LinkedIn MCP Server v${{ env.VERSION }}"
body: |
For an installation guide, please refer to the [README](https://github.com/stickerdaniel/linkedin-mcp-server/blob/main/README.md).
## Update Docker Image
**Pull this release's image:**
```bash
docker pull stickerdaniel/linkedin-mcp-server:${{ env.VERSION }}
```
## Update Claude Desktop DXT Extension
1. Download the `.dxt` file below
2. Double-click to open in Claude Desktop
3. Configure with your LinkedIn credentials
- name: Summary
run: |
echo "Successfully released v$VERSION!"
echo "Docker: stickerdaniel/linkedin-mcp-server:$VERSION"
echo "GitHub: https://github.com/${{ github.repository }}/releases/tag/v$VERSION"