46 lines
1.8 KiB
YAML
46 lines
1.8 KiB
YAML
name: 'E2E ARC Test Action'
|
|
description: 'Includes common arc installation, setup and test file run'
|
|
|
|
inputs:
|
|
github-token:
|
|
description: 'JWT generated with Github App inputs'
|
|
required: true
|
|
config-url:
|
|
description: "URL of the repo, org or enterprise where the runner scale sets will be registered"
|
|
required: true
|
|
docker-image-repo:
|
|
description: "Local docker image repo for testing"
|
|
required: true
|
|
docker-image-tag:
|
|
description: "Tag of ARC Docker image for testing"
|
|
required: true
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Install ARC
|
|
run: helm install arc --namespace "arc-systems" --create-namespace --set image.tag=${{ inputs.docker-image-tag }} --set image.repository=${{ inputs.docker-image-repo }} ./charts/gha-runner-scale-set-controller
|
|
shell: bash
|
|
- name: Get datetime
|
|
# We are using this value further in the runner installation to avoid runner name collision that are a risk with hard coded values.
|
|
# A datetime including the 3 nanoseconds are a good option for this and also adds to readability and runner sorting if needed.
|
|
run: echo "DATE_TIME=$(date +'%Y-%m-%d-%H-%M-%S-%3N')" >> $GITHUB_ENV
|
|
shell: bash
|
|
- name: Install runners
|
|
run: |
|
|
helm install "arc-runner-${{ env.DATE_TIME }}" \
|
|
--namespace "arc-runners" \
|
|
--create-namespace \
|
|
--set githubConfigUrl="${{ inputs.config-url }}" \
|
|
--set githubConfigSecret.github_token="${{ inputs.github-token }}" \
|
|
./charts/gha-runner-scale-set \
|
|
--debug
|
|
kubectl get pods -A
|
|
shell: bash
|
|
- name: Test ARC scales pods up and down
|
|
run: |
|
|
export GITHUB_TOKEN="${{ inputs.github-token }}"
|
|
export DATE_TIME="${{ env.DATE_TIME }}"
|
|
go test ./test_e2e_arc -v
|
|
shell: bash
|