diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5fe1418..793a4bf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ on: env: # Common versions - PYTHON_VERSION: '3.13.5' + PYTHON_VERSION: '3.14.7' DOCKER_BUILDX_VERSION: 'v0.24.0' # These environment variables are important to the Crossplane CLI install.sh @@ -36,7 +36,7 @@ env: jobs: lint: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - name: Checkout uses: actions/checkout@v7 @@ -53,7 +53,7 @@ jobs: run: hatch run lint:check unit-test: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - name: Checkout uses: actions/checkout@v7 @@ -74,7 +74,7 @@ jobs: # those packages to GitHub as a build artifact. The push job downloads those # artifacts and pushes them as a single multi-platform package. build: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 strategy: fail-fast: true matrix: @@ -129,7 +129,8 @@ jobs: # pushes them as a multi-platform package. We only push the package it the # XPKG_ACCESS_ID and XPKG_TOKEN secrets were provided. push: - runs-on: ubuntu-24.04 + if: ${{ github.event_name != 'pull_request' }} + runs-on: ubuntu-26.04 needs: - build steps: diff --git a/pyproject.toml b/pyproject.toml index 73e4be4..8b81bf7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "hatchling.build" name = "function" description = 'A composition function' readme = "README.md" -requires-python = ">=3.12,<3.14" +requires-python = ">=3.12,<3.15" license = "Apache-2.0" keywords = [] authors = [{ name = "Crossplane Maintainers", email = "info@crossplane.io" }] @@ -15,6 +15,7 @@ classifiers = [ "Programming Language :: Python", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [