Bump ruff from 0.12.4 to 0.13.0 #108
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: End-to-End Tests | |
on: | |
push: | |
branches: [ main, master ] | |
pull_request: | |
branches: [ main, master ] | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
e2e-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install uv | |
uses: astral-sh/setup-uv@v4 | |
with: | |
enable-cache: true | |
cache-dependency-glob: "uv.lock" | |
- name: Set up Python 3.12 | |
run: uv python install 3.12 | |
- name: Install dependencies | |
run: uv sync --all-extras --dev | |
- name: Install OpenSSL for certificate validation | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y openssl | |
- name: Check Secret Availability | |
id: check-secrets | |
run: | | |
if [[ -n "${{ secrets.TLS_CERTIFICATE }}" ]] && [[ -n "${{ secrets.TLS_PRIVATE_KEY }}" ]]; then | |
echo "secrets-available=true" >> $GITHUB_OUTPUT | |
echo "✅ TLS secrets are available - full E2E tests will run" | |
else | |
echo "secrets-available=false" >> $GITHUB_OUTPUT | |
echo "⚠️ TLS secrets not available (likely Dependabot PR) - E2E tests will be skipped" | |
echo "🔍 Secret source: ${{ github.event.pull_request.head.repo.full_name != github.repository && 'External' || 'Actions' }}" | |
fi | |
- name: Display Certificate Information | |
if: steps.check-secrets.outputs.secrets-available == 'true' | |
env: | |
TLS_CERTIFICATE: ${{ secrets.TLS_CERTIFICATE }} | |
run: | | |
echo "📋 TLS Certificate Information" | |
echo "==============================" | |
echo "🏢 Certificate Issuer Information:" | |
echo "$TLS_CERTIFICATE" | openssl x509 -noout -issuer | sed 's/issuer=/ /' | |
echo "🌐 Certificate Subject:" | |
echo "$TLS_CERTIFICATE" | openssl x509 -noout -subject | sed 's/subject=/ /' | |
echo "📅 Certificate Validity:" | |
echo " Valid From: $(echo "$TLS_CERTIFICATE" | openssl x509 -noout -startdate | cut -d= -f2)" | |
echo " Valid Until: $(echo "$TLS_CERTIFICATE" | openssl x509 -noout -enddate | cut -d= -f2)" | |
echo "🔐 Certificate Details:" | |
echo " Algorithm: $(echo "$TLS_CERTIFICATE" | openssl x509 -noout -text | grep "Signature Algorithm" | head -1 | sed 's/.*Signature Algorithm: / /')" | |
echo " Key Type: $(echo "$TLS_CERTIFICATE" | openssl x509 -noout -text | grep "Public Key Algorithm" | sed 's/.*Public Key Algorithm: / /')" | |
echo "" | |
- name: Make test scripts executable | |
run: chmod +x src/demo_client/scripts/*.sh | |
- name: Run End-to-End TLS Authentication Test | |
if: steps.check-secrets.outputs.secrets-available == 'true' | |
env: | |
TLS_CERTIFICATE: ${{ secrets.TLS_CERTIFICATE }} | |
TLS_PRIVATE_KEY: ${{ secrets.TLS_PRIVATE_KEY }} | |
run: | | |
cd src/demo_client | |
source ../../.venv/bin/activate | |
PYTHONPATH=../.. ./scripts/test_tls_auth.sh | |
- name: Skip E2E Tests (Secrets Not Available) | |
if: steps.check-secrets.outputs.secrets-available == 'false' | |
run: | | |
echo "⏭️ Skipping E2E TLS tests - secrets not available" | |
echo "📝 This is expected for:" | |
echo " • Dependabot pull requests" | |
echo " • External contributor pull requests" | |
echo " • Repository forks" | |
echo "" | |
echo "✅ Unit tests have already passed - basic functionality is verified" | |
echo "🔒 TLS E2E tests will run when this PR is merged or when secrets are available" | |
- name: Upload test logs on failure | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: e2e-test-logs | |
path: | | |
server_test.log | |
src/demo_client/*.log | |
*.log | |
retention-days: 7 |