Merge pull request #99 from negz/hatchery
Update to hatch v0.12, which includes new `hatch test` and `hatch fmt` commands
This commit is contained in:
commit
5ceb76308d
|
@ -27,7 +27,8 @@ concurrency:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
# Common versions
|
# Common versions
|
||||||
PYTHON_VERSION: '3.11.5'
|
PYTHON_VERSION: '3.11'
|
||||||
|
HATCH_VERSION: '1.12.0'
|
||||||
|
|
||||||
# The PyPi project version to push. The default is v0.0.0+gitdate-gitsha.
|
# The PyPi project version to push. The default is v0.0.0+gitdate-gitsha.
|
||||||
PYPI_VERSION: ${{ inputs.version }}
|
PYPI_VERSION: ${{ inputs.version }}
|
||||||
|
@ -45,10 +46,10 @@ jobs:
|
||||||
python-version: ${{ env.PYTHON_VERSION }}
|
python-version: ${{ env.PYTHON_VERSION }}
|
||||||
|
|
||||||
- name: Setup Hatch
|
- name: Setup Hatch
|
||||||
run: pipx install hatch==1.7.0
|
run: pipx install hatch==${{ env.HATCH_VERSION }}
|
||||||
|
|
||||||
- name: Lint
|
- name: Lint
|
||||||
run: hatch run lint:check
|
run: hatch fmt
|
||||||
|
|
||||||
unit-test:
|
unit-test:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
@ -62,10 +63,10 @@ jobs:
|
||||||
python-version: ${{ env.PYTHON_VERSION }}
|
python-version: ${{ env.PYTHON_VERSION }}
|
||||||
|
|
||||||
- name: Setup Hatch
|
- name: Setup Hatch
|
||||||
run: pipx install hatch==1.7.0
|
run: pipx install hatch==${{ env.HATCH_VERSION }}
|
||||||
|
|
||||||
- name: Run Unit Tests
|
- name: Run Unit Tests
|
||||||
run: hatch run test:unit
|
run: hatch test --all --randomize
|
||||||
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
|
@ -80,7 +81,7 @@ jobs:
|
||||||
python-version: ${{ env.PYTHON_VERSION }}
|
python-version: ${{ env.PYTHON_VERSION }}
|
||||||
|
|
||||||
- name: Setup Hatch
|
- name: Setup Hatch
|
||||||
run: pipx install hatch==1.7.0
|
run: pipx install hatch==${{ env.HATCH_VERSION }}
|
||||||
|
|
||||||
# If a version wasn't explicitly passed as a workflow_dispatch input we
|
# If a version wasn't explicitly passed as a workflow_dispatch input we
|
||||||
# default to version v0.0.0+<git-commit-date>-<git-short-sha>, for example
|
# default to version v0.0.0+<git-commit-date>-<git-short-sha>, for example
|
||||||
|
@ -143,7 +144,7 @@ jobs:
|
||||||
python-version: ${{ env.PYTHON_VERSION }}
|
python-version: ${{ env.PYTHON_VERSION }}
|
||||||
|
|
||||||
- name: Setup Hatch
|
- name: Setup Hatch
|
||||||
run: pipx install hatch==1.7.0
|
run: pipx install hatch==${{ env.HATCH_VERSION }}
|
||||||
|
|
||||||
- name: Build Documentation
|
- name: Build Documentation
|
||||||
run: hatch run docs:pdoc -d google crossplane/function -o docs
|
run: hatch run docs:pdoc -d google crossplane/function -o docs
|
||||||
|
|
|
@ -34,11 +34,11 @@ Some useful commands:
|
||||||
# Generate gRPC stubs.
|
# Generate gRPC stubs.
|
||||||
hatch run generate:protoc
|
hatch run generate:protoc
|
||||||
|
|
||||||
# Lint the code.
|
# Format and lint the code.
|
||||||
hatch run lint:check
|
hatch fmt
|
||||||
|
|
||||||
# Run unit tests.
|
# Run unit tests.
|
||||||
hatch run test:unit
|
hatch test
|
||||||
|
|
||||||
# Build an sdist and wheel.
|
# Build an sdist and wheel.
|
||||||
hatch build
|
hatch build
|
||||||
|
|
|
@ -49,23 +49,6 @@ dependencies = ["grpcio-tools==1.66.2"]
|
||||||
[tool.hatch.envs.generate.scripts]
|
[tool.hatch.envs.generate.scripts]
|
||||||
protoc = "python -m grpc_tools.protoc --proto_path=. --python_out=. --pyi_out=. --grpc_python_out=. crossplane/function/proto/v1beta1/run_function.proto crossplane/function/proto/v1/run_function.proto"
|
protoc = "python -m grpc_tools.protoc --proto_path=. --python_out=. --pyi_out=. --grpc_python_out=. crossplane/function/proto/v1beta1/run_function.proto crossplane/function/proto/v1/run_function.proto"
|
||||||
|
|
||||||
[tool.hatch.envs.lint]
|
|
||||||
type = "virtual"
|
|
||||||
detached = true
|
|
||||||
path = ".venv-lint"
|
|
||||||
dependencies = ["ruff==0.6.9"]
|
|
||||||
|
|
||||||
[tool.hatch.envs.lint.scripts]
|
|
||||||
check = "ruff format crossplane tests && ruff check --fix crossplane tests"
|
|
||||||
|
|
||||||
|
|
||||||
[tool.hatch.envs.test]
|
|
||||||
type = "virtual"
|
|
||||||
path = ".venv-test"
|
|
||||||
|
|
||||||
[tool.hatch.envs.test.scripts]
|
|
||||||
unit = "python -m unittest tests/*.py"
|
|
||||||
|
|
||||||
[tool.hatch.envs.docs]
|
[tool.hatch.envs.docs]
|
||||||
type = "virtual"
|
type = "virtual"
|
||||||
path = ".venv-docs"
|
path = ".venv-docs"
|
||||||
|
@ -77,6 +60,11 @@ generate = "pdoc -m google crossplane/function -o docs"
|
||||||
[tool.hatch.build.targets.wheel]
|
[tool.hatch.build.targets.wheel]
|
||||||
packages = ["crossplane"]
|
packages = ["crossplane"]
|
||||||
|
|
||||||
|
# This special environment is used by hatch fmt.
|
||||||
|
[tool.hatch.envs.hatch-static-analysis]
|
||||||
|
dependencies = ["ruff==0.6.9"]
|
||||||
|
config-path = "none" # Disable Hatch's default Ruff config.
|
||||||
|
|
||||||
[tool.ruff]
|
[tool.ruff]
|
||||||
target-version = "py311"
|
target-version = "py311"
|
||||||
exclude = ["crossplane/function/proto/*", "tests/testdata/*"]
|
exclude = ["crossplane/function/proto/*", "tests/testdata/*"]
|
||||||
|
|
|
@ -22,8 +22,7 @@ from google.protobuf import struct_pb2 as structpb
|
||||||
|
|
||||||
import crossplane.function.proto.v1.run_function_pb2 as fnv1
|
import crossplane.function.proto.v1.run_function_pb2 as fnv1
|
||||||
from crossplane.function import logging, resource
|
from crossplane.function import logging, resource
|
||||||
|
from tests.testdata.models.io.upbound.aws.s3 import v1beta2
|
||||||
from .testdata.models.io.upbound.aws.s3 import v1beta2
|
|
||||||
|
|
||||||
|
|
||||||
class TestResource(unittest.TestCase):
|
class TestResource(unittest.TestCase):
|
||||||
|
|
Loading…
Reference in New Issue