63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
| name: 'Setup ARC E2E Test Action'
 | |
| description: 'Build controller image, create kind cluster, load the image, and exchange ARC configure token.'
 | |
| 
 | |
| inputs:
 | |
|   app-id:
 | |
|     description: 'GitHub App Id for exchange access token'
 | |
|     required: true
 | |
|   app-pk:
 | |
|     description: "GitHub App private key for exchange access token"
 | |
|     required: true
 | |
|   image-name:
 | |
|     description: "Local docker image name for building"
 | |
|     required: true
 | |
|   image-tag:
 | |
|     description: "Tag of ARC Docker image for building"
 | |
|     required: true
 | |
|   target-org:
 | |
|     description: "The test organization for ARC e2e test"
 | |
|     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.image-name}}
 | |
|           VERSION=${{inputs.image-tag}}           
 | |
|         tags: |
 | |
|           ${{inputs.image-name}}:${{inputs.image-tag}}          
 | |
|         no-cache: true
 | |
| 
 | |
|     - name: Create minikube cluster and load image
 | |
|       shell: bash
 | |
|       run: |
 | |
|         minikube start
 | |
|         minikube image load ${{inputs.image-name}}:${{inputs.image-tag}}        
 | |
| 
 | |
|     - name: Get configure token
 | |
|       id: config-token
 | |
|       uses: peter-murray/workflow-application-token-action@8e1ba3bf1619726336414f1014e37f17fbadf1db
 | |
|       with:
 | |
|         application_id: ${{ inputs.app-id }}
 | |
|         application_private_key: ${{ inputs.app-pk }}
 | |
|         organization: ${{ inputs.target-org}} |