mirror of
https://github.com/actions/actions-runner-controller.git
synced 2025-12-25 19:19:52 +08:00
Update E2E test workflow. (#2395)
This commit is contained in:
45
.github/actions/e2e-arc-test/action.yaml
vendored
45
.github/actions/e2e-arc-test/action.yaml
vendored
@@ -1,45 +0,0 @@
|
||||
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
|
||||
65
.github/actions/setup-arc-e2e/action.yaml
vendored
Normal file
65
.github/actions/setup-arc-e2e/action.yaml
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
name: 'Setup ARC E2E Test Action'
|
||||
description: 'Build controller image, create kind cluster, load the image, and exchange ARC configure token.'
|
||||
|
||||
inputs:
|
||||
github-app-id:
|
||||
description: 'GitHub App Id for exchange access token'
|
||||
required: true
|
||||
github-app-pk:
|
||||
description: "GitHub App private key for exchange access token"
|
||||
required: true
|
||||
github-app-org:
|
||||
description: 'The organization the GitHub App has installed on'
|
||||
required: true
|
||||
docker-image-name:
|
||||
description: "Local docker image name for building"
|
||||
required: true
|
||||
docker-image-tag:
|
||||
description: "Tag of ARC Docker image for building"
|
||||
required: true
|
||||
|
||||
outputs:
|
||||
token:
|
||||
description: 'Token to use for configure ARC'
|
||||
value: ${{steps.config-token.outputs.token}}
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
with:
|
||||
# Pinning v0.9.1 for Buildx and BuildKit v0.10.6
|
||||
# BuildKit v0.11 which has a bug causing intermittent
|
||||
# failures pushing images to GHCR
|
||||
version: v0.9.1
|
||||
driver-opts: image=moby/buildkit:v0.10.6
|
||||
|
||||
- name: Build controller image
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
file: Dockerfile
|
||||
platforms: linux/amd64
|
||||
load: true
|
||||
build-args: |
|
||||
DOCKER_IMAGE_NAME=${{inputs.docker-image-name}}
|
||||
VERSION=${{inputs.docker-image-tag}}
|
||||
tags: |
|
||||
${{inputs.docker-image-name}}:${{inputs.docker-image-tag}}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
- name: Create Kind cluster and load image
|
||||
shell: bash
|
||||
run: |
|
||||
PATH=$(go env GOPATH)/bin:$PATH
|
||||
kind create cluster --name arc-e2e
|
||||
kind load docker-image ${{inputs.docker-image-name}}:${{inputs.docker-image-tag}} --name arc-e2e
|
||||
|
||||
- name: Get configure token
|
||||
id: config-token
|
||||
uses: peter-murray/workflow-application-token-action@8e1ba3bf1619726336414f1014e37f17fbadf1db
|
||||
with:
|
||||
application_id: ${{ inputs.github-app-id }}
|
||||
application_private_key: ${{ inputs.github-app-pk }}
|
||||
organization: ${{ inputs.github-app-org }}
|
||||
Reference in New Issue
Block a user