
* Add a Helm chart for a cronjob for doing etcd defrag * Add HelmRelease to deploy etcd defrag cronjob onto clusters * Use charts from the repository in tests * Clarify comment in values * Reinstate pull_request_target
68 lines
1.8 KiB
YAML
68 lines
1.8 KiB
YAML
name: test pr
|
|
on:
|
|
pull_request_target:
|
|
types:
|
|
- opened
|
|
- synchronize
|
|
- ready_for_review
|
|
- reopened
|
|
branches:
|
|
- main
|
|
|
|
concurrency:
|
|
group: ${{ github.head_ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
# Use a job that does nothing but has an environment as a guard to control
|
|
# access to the rest of workflow
|
|
# This allows us to control access to test infra for concurrenct and approval reasons
|
|
wait_for_approval:
|
|
runs-on: ubuntu-latest
|
|
environment: ci-approval
|
|
steps:
|
|
- name: Workflow approved
|
|
run: exit 0
|
|
|
|
lint:
|
|
needs: [wait_for_approval]
|
|
uses: ./.github/workflows/lint.yaml
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
|
|
mirror_container_images:
|
|
needs: [lint]
|
|
uses: ./.github/workflows/sync-images.yaml
|
|
secrets: inherit
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
|
|
ensure_capi_images:
|
|
needs: [lint]
|
|
uses: ./.github/workflows/ensure-capi-images.yaml
|
|
secrets: inherit
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
|
|
publish_charts:
|
|
needs: [lint]
|
|
uses: ./.github/workflows/publish-charts.yaml
|
|
secrets: inherit
|
|
with:
|
|
ref: ${{ github.sha }}
|
|
|
|
test:
|
|
needs: [mirror_container_images, ensure_capi_images, publish_charts]
|
|
uses: ./.github/workflows/test.yaml
|
|
secrets: inherit
|
|
with:
|
|
# Pass the images as JSON
|
|
images: ${{ toJSON(needs.ensure_capi_images.outputs) }}
|
|
# Pass the chart version to test
|
|
chart-version: ${{ needs.publish_charts.outputs.chart-version }}
|
|
# We want to test the code in the PR
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
# If the PR is in draft, just run a sanity check
|
|
# If the PR is in review, run the full test suite
|
|
tests-full: ${{ !github.event.pull_request.draft }}
|