{"id":19039894,"url":"https://github.com/cert-manager/testing","last_synced_at":"2026-02-14T02:01:54.963Z","repository":{"id":37819887,"uuid":"146663893","full_name":"cert-manager/testing","owner":"cert-manager","description":"Repository containing cert-manager testing infrastructure configuration","archived":false,"fork":false,"pushed_at":"2026-02-11T04:46:08.000Z","size":3767,"stargazers_count":5,"open_issues_count":8,"forks_count":32,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-11T10:18:45.382Z","etag":null,"topics":["bazel","infra","prow-jobs"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cert-manager.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-08-29T22:03:26.000Z","updated_at":"2026-02-11T04:42:42.000Z","dependencies_parsed_at":"2026-01-02T22:08:57.772Z","dependency_job_id":null,"html_url":"https://github.com/cert-manager/testing","commit_stats":{"total_commits":1364,"total_committers":37,"mean_commits":36.86486486486486,"dds":0.7448680351906158,"last_synced_commit":"d66d0fb010ad440dae0815eee86fa0174837d8c5"},"previous_names":["cert-manager/testing","jetstack/testing"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cert-manager/testing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cert-manager%2Ftesting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cert-manager%2Ftesting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cert-manager%2Ftesting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cert-manager%2Ftesting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cert-manager","download_url":"https://codeload.github.com/cert-manager/testing/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cert-manager%2Ftesting/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29431593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T22:20:51.549Z","status":"online","status_checked_at":"2026-02-14T02:00:07.626Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bazel","infra","prow-jobs"],"created_at":"2024-11-08T22:19:25.992Z","updated_at":"2026-02-14T02:01:54.928Z","avatar_url":"https://github.com/cert-manager.png","language":"Go","readme":"# cert-manager/testing\n\nThis repository contains the configuration used for testing all jetstck projects.\n\nIt is used by [Prow](https://github.com/kubernetes-sigs/prow)\nto provide GitHub automation to all of our repositories.\n\n## Common tasks\n\n### Linting files in this repository\n\nWe have certain requirements on files in these repository:\n\n* boilerplate check - we require that all files in the repository have a valid\ncopyright notice at the top of the file.\n* prowgen check - we require that all cert-manager job configuration files are\ngenerated using `prowgen`.\n\nYou can run the lint checks with:\n\n```bash\nmake verify\n```\n\n### Validating Prow configuration\n\nIn order to test the configuration is valid, you can run:\n\n```bash\nmake local-checkconfig\n```\n\nThis will use the test-infra 'checkconfig' tool to verify the configuration\nfiles.\n\n### Deploying a new version of Prow\n\nProw's deployment on our prow-untrusted cluster is done manually using a Makefile in ./prow/cluster.\n\nSee more detailed information about upgrading Prow in [./prow/cluster/README.md](./prow/cluster/README.md)\n\n### Building an image and exporting to your local Docker daemon\n\nEach directory under `images/` contains a configuration file that\ndefine how each image should be built.\n\nYou can build these images and store them within your local docker daemon by\nrunning:\n\n```bash\n$ ./images/image-builder-script/builder.sh images/golang-dind\n./images/image-builder-script/builder.sh images/golang-aws\nWARNING: GOOGLE_APPLICATION_CREDENTIALS not set\nExecuting builder...\n2023/04/07 16:31:51 --confirm is set to false, not pushing images\n...\n```\n\nThis may take a few minutes depending on the state of your Docker cache.\n\n### Pushing a docker image to the image repository\n\n⚠️ WARNING: You're unlikely to have permissions to be able to push images to GCR locally. If you're simply\nlooking to update an image, a [workload](https://github.com/cert-manager/testing/blob/365d570125e751a7d9aac4148d8c0ef23e42168c/config/jobs/testing/testing-postsubmits-trusted.yaml#L76)\nin prow will build and push the image for you when your PR with the changes is merged.\n\nbuilder.sh can also be used to *push* built docker images to the remote registry.\n\nThis push target **will not** handle authentication with the remote registry for\nyou. You should ensure your Docker client is already authenticated using gcloud.\n\nFor example, to build and push the `images/golang-aws` image:\n\n```bash\n# Obtain credentials for the docker registry\n$ gcloud docker -a\n# Build (if required) and push the docker image\n$ ./images/image-builder-script/builder.sh images/golang-aws --confirm=true\n...\n```\n\nIf you want to push to a custom repository, you can use the `--registry` flag.\n\n---\n\n## Structure\n\n* [config/](config/): Adding or modifying CI jobs (presubmits, periodics or postsubmits)\n* [prow/](prow/): Updating/upgrading Prow\n* [images/](images/): Creating or modifying images used during CI\n\n### hack/\n\nThis contains support scripts used to verify aspects of the repository.\n\n### config/\n\nThe config directory contains the actual Prow configuration files: `config.yaml`\nand `plugins.yaml`, as well as job configuration for presubmits, periodics and\npostsubmits.\n\nPull requests can be submitted to this directory in order to modify how tests\nare run.\n\nOnce your changes have been merged, Prow itself will automatically update its\nconfiguration to reflect what is in the repository.\n\n### images/\n\nThis directory contains image defintions for images used as part of Prow jobs.\n\nNew images will be built and pushed on changes to the relevant files (i.e\nDockerfile for the image).\n\n### Debugging e2e tests run with Prow\n\n-  For each e2e test run, Prow will create a new `ProwJob` custom resource in\n   `prow-trusted` cluster. For the actual test, a pod will be spun up in\n   `prow-untrusted` cluster in `test-pods` namespace. You can find the pod's\n   name from the `ProwJob`'s yaml `kubectl get prowjob \u003cprowjob-name\u003e -ojsonpath='{.status.pod_name}'`\n\n- When debugging a periodic Prow test, a new test run can be triggered by\n  deleting the latest `ProwJob` for that test\n\n- The image used for the test container has bash, so a running test can be\n  easily debugged by execing the container `kubectl exec -it  \u003cpod-name\u003e -ctest\n  -ntest-pods -- bash`\n\n### Testing locally\n\nProwJobs can be tested locally by running the (interactive) `./prow/pj-on-kind.sh` script.\nThis script will spin up a local KIND cluster and create a new ProwJob instance for which there will be a Pod created that will be running the actual test.\n\nSee [documentation in k/test-infra](https://github.com/kubernetes/test-infra/blob/master/prow/build_test_update.md#How-to-test-a-ProwJob) for how the script works.\n\nAn example of running `pull-cert-manager-upgrade-v1-21` job locally:\n\n1. Run `./prow/pj-on-kind.sh pull-cert-manager-upgrade-v1-21`\n2. Pass some cert-manager PR number when requested. This will be checked out.\n3. Pass 'empty' for any storage volumes when requested.\n4. Retrieve kubeconfig for the kind cluster `kind get kubeconfig --name mkpod` and set KUBECONFIG\n5. `kubectl get pods` - to get the name of the pod that is running the test\n6. `kubectl logs \u003cpod-name\u003e -c test -f` stream the logs\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcert-manager%2Ftesting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcert-manager%2Ftesting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcert-manager%2Ftesting/lists"}