Skip to content

Bump version: 0.0.70 → 0.0.71 #104

Bump version: 0.0.70 → 0.0.71

Bump version: 0.0.70 → 0.0.71 #104

# .github/workflows/test.yml
name: "CI"
on:
push:
branches:
- "**"
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install dependencies
run: |
sudo apt-get update && sudo apt-get install -y libcairo2
- name: Install dev tools
run: |
sudo apt-get install -y curl jq xsltproc gnupg2 libcairo2
- name: Install uv (python package manager)
uses: astral-sh/setup-uv@v5
with:
version: "0.5.9"
enable-cache: true
cache-dependency-glob: uv.lock
- uses: actions/setup-node@v4
with:
node-version: 18
- run: npm install @modelcontextprotocol/inspector@0.3.0
- name: Install Python, venv and dependencies
run: |
uv sync --all-extras --frozen --link-mode=copy
- name: Release version check
if: startsWith(github.ref, 'refs/tags/v')
run: |
TAG_VERSION=${GITHUB_REF#refs/tags/v}
TOML_VERSION=$(uv run python -c "import tomli; print(tomli.load(open('pyproject.toml', 'rb'))['project']['version'])")
if [ "$TAG_VERSION" != "$TOML_VERSION" ]; then
echo "Release version mismatch: Tag $TAG_VERSION != pyproject.toml $TOML_VERSION"
exit 1
fi
- name: Print development version info
if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
run: |
TOML_VERSION=$(uv run python -c "import tomli; print(tomli.load(open('pyproject.toml', 'rb'))['project']['version'])")
echo "Development build - Current version in pyproject.toml: $TOML_VERSION"
- name: Create .env file
uses: SpicyPizza/create-envfile@v2.0
with:
envkey_STARBRIDGE_ATLASSIAN_URL: "https://your-domain.atlassian.net"
envkey_STARBRIDGE_ATLASSIAN_EMAIL_ADDRESS: "you@your-domain.com"
envkey_STARBRIDGE_ATLASSIAN_API_TOKEN: "YOUR_API_TOKEN"
envkey_STARBRIDGE_SEARCH_BRAVE_SEARCH_API_KEY: "MOCK"
envkey_STARBRIDGE_LOGFIRE_TOKEN: "${{ secrets.STARBRIDGE_LOGFIRE_TOKEN }}"
envkey_STARBRIDGE_LOGFIRE_INSTRUMENT_MCP_ENABLED: 1
envkey_STARBRIDGE_LOGFIRE_ENVIRONMENT: "github_action_test"
fail_on_empty: true
- name: Validate installation
run: |
OUTPUT=$(uv run starbridge --help)
if [[ "$OUTPUT" != *"built with love in Berlin"* ]]; then
echo "Output does not contain 'built with love in Berlin'"
exit 1
fi
- name: Info, tools and health
run: |
uv run starbridge info
- name: Run unit tests, measure coverage, lint, and check vulnerabilities
run: |
uv run nox
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: test-results
path: |
junit.xml
coverage.xml
coverage_html/
vulnerabilities.json
licenses.json
licenses-inverted.json
retention-days: 30
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: helmut-hoffer-von-ankershoffen/starbridge
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/test-results-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: SonarQube Scan
uses: SonarSource/sonarqube-scan-action@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}