Skip to content

feat: add Swagger Functional Testing integration #1448

feat: add Swagger Functional Testing integration

feat: add Swagger Functional Testing integration #1448

Workflow file for this run

# This workflow tests that Docker builds are successful on native architecture runners
# It validates the Dockerfile and ensures the container can be built for multiple platforms
name: Docker Build Test
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Allow manual triggering
workflow_dispatch:
permissions: read-all
jobs:
# Build and test on native runners for each architecture
docker-build:
strategy:
matrix:
include:
- platform: linux/amd64
runner: ubuntu-latest
arch: amd64
- platform: linux/arm64
runner: ubuntu-24.04-arm
arch: arm64
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- name: Build Docker image to builder stage for ${{ matrix.arch }}
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
with:
context: .
target: builder
push: false
platforms: ${{ matrix.platform }}
tags: mcp/smartbear:builder-${{ matrix.arch }}
cache-from: type=gha,scope=${{ matrix.arch }}
cache-to: type=gha,mode=max,scope=${{ matrix.arch }}
load: true
- name: Run container tests (vitest) on ${{ matrix.arch }}
run: |
docker run --rm mcp/smartbear:builder-${{ matrix.arch }} npm run test:run
dockerfile-lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Run hadolint Dockerfile linter
uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0
with:
dockerfile: Dockerfile
failure-threshold: warning