This Action try to generalize the way in which you can start tests. It aim to provide common dependencies for test environment like KinD, Bats and the like
This actions require all the tests in the target repo to be callable using task test
as entry point, levering taskfile
The other minimal entrypoints required are
task test
task test:clean
task test:logs
github_token
: GITHUB_TOKEN secret
artifact_name
: Name of the artifact to be downloaded and imported (default: "image")bats_version
: BATS version (default: "1.11.1")envsubst_needed
: Indicate if envsubst is needed (default: "false")gar_password
: GAR Passwordgar_registry
: GAR Registrygar_username
: GAR Usernameimage_original_tag
: Original tag of the image to be importedimport_image_artifact
: Boolean if the image artifact should be imported (default: false)kind_cluster_name
: KinD cluster name (default: kind)kind_config_path
: KinD config path (default: tests/kind-config.yaml)kind_kubectl_version
: the kubectl version to use with KinD (default: v1.27.1) - this version cannot be updated until the utility cluster has been updated - DEVOPS-14991kind_log_level
: the KinD verbosity level (default: 0)kind_needed
: Boolean if a Kubernetes In Docker cluster is needed for tests (default: true)kind_version
: KinD version (default: "v0.19.0") - this version cannot be updated until the utility cluster has been updated - DEVOPS-14991kind_wait
: increase the timeout for KinD to check if the control plane is ready (default: 60s)local_image_name
: Name of the image to be imported (default: "testimage:local")quay_password
: quay Passwordquay_username
: quay Usernametaskfile_name
: Name of the taskfile task to be executed (default: "test")
Perform all checks on pull requests
name: tests
on:
pull_request:
types: [opened, review_requested, ready_for_review]
jobs:
tests:
runs-on: self-hosted
steps:
- uses: actions/[email protected]
- uses: draios/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
# this will trigger `task test` in the target repo