Repository navigation
Bump the github-actions group across 1 directory with 3 updates #40
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.repository }}-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| application-tests: | |
| name: Application tests (Python 3.13) | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: '3.13' | |
| cache: pip | |
| cache-dependency-path: | | |
| requirements.txt | |
| requirements-ci.txt | |
| constraints-ci.txt | |
| - name: Install application and test dependencies | |
| run: python -m pip install -r requirements.txt -r requirements-ci.txt | |
| - name: Validate Python syntax | |
| run: python -m compileall -q *.py .github/actions/issuelens github_app_mcp/src github_app_mcp/scripts tests github_app_mcp/tests | |
| - name: Run application tests | |
| run: python -m unittest discover -s tests -p 'test_*.py' -v | |
| mcp-tests: | |
| name: MCP tests (Python ${{ matrix.python-version }}) | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.12', '3.13'] | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| cache-dependency-path: | | |
| github_app_mcp/pyproject.toml | |
| requirements-ci.txt | |
| constraints-ci.txt | |
| - name: Install MCP and test dependencies | |
| run: python -m pip install ./github_app_mcp -r requirements-ci.txt | |
| - name: Run MCP tests | |
| run: python -m unittest discover -s github_app_mcp/tests -p 'test_*.py' -v | |
| mcp-package: | |
| name: MCP package build/install (Python ${{ matrix.python-version }}) | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.12', '3.13'] | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| cache-dependency-path: | | |
| github_app_mcp/pyproject.toml | |
| requirements-ci.txt | |
| constraints-ci.txt | |
| - name: Install build tooling | |
| run: python -m pip install -r requirements-ci.txt | |
| - name: Build source distribution and wheel | |
| run: python -m build --outdir "$RUNNER_TEMP/dist" github_app_mcp | |
| - name: Install and smoke-test wheel in a clean environment | |
| run: | | |
| python -m venv "$RUNNER_TEMP/wheel-venv" | |
| "$RUNNER_TEMP/wheel-venv/bin/python" -m pip install -c constraints-ci.txt "$RUNNER_TEMP"/dist/*.whl | |
| "$RUNNER_TEMP/wheel-venv/bin/python" -m pip check | |
| "$RUNNER_TEMP/wheel-venv/bin/python" -I - <<'PY' | |
| from importlib.metadata import distribution | |
| dist = distribution("issuelens-github-mcp") | |
| entry, = (ep for ep in dist.entry_points if ep.group == "console_scripts" and ep.name == "issuelens-github-mcp") | |
| assert entry.value == "issuelens_github_mcp.server:main" | |
| assert callable(entry.load()) | |
| print(f"Installed {dist.metadata['Name']} {dist.version}; entry point imports successfully") | |
| PY | |
| workflow-validation: | |
| name: Workflow validation | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version: '1.25' | |
| cache: false | |
| - name: Install actionlint | |
| # actionlint v1.7.12, built from an immutable source revision. | |
| run: go install github.com/rhysd/actionlint/cmd/actionlint@914e7df21a07ef503a81201c76d2b11c789d3fca | |
| - name: Validate all workflows | |
| run: '"$(go env GOPATH)/bin/actionlint" -shellcheck= -pyflakes= .github/workflows/*.yml' |