Skip to content

chore(deps): Update all major dependencies (major) #632

chore(deps): Update all major dependencies (major)

chore(deps): Update all major dependencies (major) #632

Workflow file for this run

# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: Pull Request Validation
# Workflow Behavior:
# - PRs: Fast CI tests (test-ci) on Python 3.11 only (15min timeout)
# - Dev tags (v*-dev-*): Comprehensive tests (coverage) on Python 3.11, 3.12, 3.13 (30min timeout)
#
# To trigger comprehensive tests on-demand:
# make release-dev # Creates and pushes v{version}-dev-{timestamp} tag
#
# This allows thorough testing before merging without slowing down regular PR development.
on:
pull_request:
branches: ['**']
push:
tags: ['v*-dev-*']
jobs:
test:
runs-on: ubuntu-latest
# Increase timeout for comprehensive tests on dev tags
timeout-minutes: ${{ startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-dev-') && 30 || 15 }}
strategy:
matrix:
# Run comprehensive tests on multiple Python versions for dev tags
python-version: ${{ startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-dev-') && fromJSON('["3.13", "3.12", "3.11"]') || fromJSON('["3.11"]') }}
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Setup build environment
uses: ./.github/actions/setup-build-env
with:
python-version: ${{ matrix.python-version }}
- name: Run linting
shell: bash
run: make lint
- name: Run tests
uses: ./.github/actions/run-tests
with:
# Use comprehensive tests (coverage) for dev tags, fast tests (test-ci) for PRs
test-target: ${{ startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-dev-') && 'coverage' || 'test-ci' }}
artifact-name: ${{ startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-dev-') && 'test-results-dev-comprehensive' || 'test-results-pr' }}
python-version: ${{ matrix.python-version }}
env:
# AWS credentials for tests that need them
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION || 'us-east-1' }}
# Quilt configuration
QUILT_TEST_BUCKET: ${{ secrets.QUILT_TEST_BUCKET }}
QUILT_CATALOG_URL: ${{ secrets.QUILT_CATALOG_URL }}
QUILT_TEST_PACKAGE: ${{ secrets.QUILT_TEST_PACKAGE }}
QUILT_TEST_ENTRY: ${{ secrets.QUILT_TEST_ENTRY }}
PLATFORM_TEST_ENABLED: ${{ secrets.PLATFORM_CATALOG_URL != '' && 'true' || 'false' }}
PLATFORM_CATALOG_URL: ${{ secrets.PLATFORM_CATALOG_URL }}
PLATFORM_REGISTRY_URL: ${{ secrets.PLATFORM_REGISTRY_URL }}
PLATFORM_TEST_JWT_SECRET: ${{ secrets.PLATFORM_TEST_JWT_SECRET }}
- name: Debug GitHub context for dev-release
run: |
echo "=== GitHub Context Debug ==="
echo "Event: ${{ github.event_name }}"
echo "Ref: ${{ github.ref }}"
echo "Ref type: ${{ github.ref_type }}"
echo "Ref name: ${{ github.ref_name }}"
echo "Head ref: ${{ github.head_ref }}"
echo "Base ref: ${{ github.base_ref }}"
echo "SHA: ${{ github.sha }}"
echo "=== Tag Detection ==="
echo "Starts with refs/tags/v: ${{ startsWith(github.ref, 'refs/tags/v') }}"
echo "Contains -dev-: ${{ contains(github.ref, '-dev-') }}"
echo "Combined condition: ${{ startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-dev-') }}"
dev-release:
runs-on: ubuntu-latest
needs: test
timeout-minutes: 30
environment: testpypi
permissions:
contents: write
id-token: write
if: startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-dev-')
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Setup build environment
uses: ./.github/actions/setup-build-env
with:
python-version: '3.11'
include-nodejs: 'true'
- name: Debug dev-release context
run: |
echo "=== Dev-Release Context Debug ==="
echo "Event: ${{ github.event_name }}"
echo "Ref: ${{ github.ref }}"
echo "Ref type: ${{ github.ref_type }}"
echo "Ref name: ${{ github.ref_name }}"
echo "SHA: ${{ github.sha }}"
echo "=== Condition Check ==="
echo "startsWith(github.ref, 'refs/tags/v'): ${{ startsWith(github.ref, 'refs/tags/v') }}"
echo "contains(github.ref, '-dev-'): ${{ contains(github.ref, '-dev-') }}"
echo "Combined condition result: ${{ startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-dev-') }}"
- name: Extract version from tag
id: version
run: |
TAG_VERSION=${GITHUB_REF#refs/tags/v}
echo "tag_version=$TAG_VERSION" >> $GITHUB_OUTPUT
echo "Dev Tag Version: $TAG_VERSION"
- name: Create dev release
uses: ./.github/actions/create-release
with:
package-version: ${{ steps.version.outputs.tag_version }}
git-sha: ${{ github.sha }}
pypi-repository-url: https://test.pypi.org/legacy/
build-docker: 'true'
skip-existing: true
env:
# AWS credentials for Docker ECR push
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION || 'us-east-1' }}