docker-build-test.yml•1.81 kB
name: Docker Build Test
on:
pull_request:
branches: [ main ]
paths:
- 'Dockerfile'
- 'pyproject.toml'
- 'uv.lock'
- 'falcon_mcp/**'
- '.github/workflows/docker-build-test.yml'
permissions:
contents: read
jobs:
docker-build-test:
runs-on: ubuntu-latest
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
with:
egress-policy: audit
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435
- name: Build multi-platform Docker image
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83
with:
context: .
platforms: linux/amd64,linux/arm64
push: false
cache-from: type=gha
cache-to: type=gha,mode=max
tags: |
falcon-mcp:test
falcon-mcp:pr-${{ github.event.pull_request.number }}
- name: Test Docker image (amd64)
run: |
# Build for local testing (amd64 only for running tests)
docker buildx build \
--platform linux/amd64 \
--load \
--tag falcon-mcp:test-local \
.
# Test basic functionality - should show help without errors
echo "Testing falcon-mcp --help..."
docker run --rm falcon-mcp:test-local --help
# Test version command | TBD: Add version check
#echo "Testing falcon-mcp --version..."
#docker run --rm falcon-mcp:test-local --version || true
echo "✅ Docker image smoke tests passed!"