mirror of
				https://github.com/docker/setup-buildx-action.git
				synced 2025-10-31 01:20:09 +08:00 
			
		
		
		
	ci: add jobs to check standalone behavior
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									3472856dd9
								
							
						
					
					
						commit
						17ebdd4d65
					
				
							
								
								
									
										140
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										140
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @ -30,21 +30,9 @@ jobs: | |||||||
|         uses: actions/checkout@v3 |         uses: actions/checkout@v3 | ||||||
|       - |       - | ||||||
|         name: Set up Docker Buildx |         name: Set up Docker Buildx | ||||||
|         id: buildx |  | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           version: ${{ matrix.buildx-version }} |           version: ${{ matrix.buildx-version }} | ||||||
|       - |  | ||||||
|         name: Inspect builder |  | ||||||
|         run: | |  | ||||||
|           echo "Name:      ${{ steps.buildx.outputs.name }}" |  | ||||||
|           echo "Endpoint:  ${{ steps.buildx.outputs.endpoint }}" |  | ||||||
|           echo "Status:    ${{ steps.buildx.outputs.status }}" |  | ||||||
|           echo "Flags:     ${{ steps.buildx.outputs.flags }}" |  | ||||||
|           echo "Platforms: ${{ steps.buildx.outputs.platforms }}" |  | ||||||
|       - |  | ||||||
|         name: Dump context |  | ||||||
|         uses: crazy-max/ghaction-dump-context@v1 |  | ||||||
| 
 | 
 | ||||||
|   multi: |   multi: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
| @ -54,28 +42,10 @@ jobs: | |||||||
|         uses: actions/checkout@v3 |         uses: actions/checkout@v3 | ||||||
|       - |       - | ||||||
|         name: Set up Docker Buildx 1 |         name: Set up Docker Buildx 1 | ||||||
|         id: buildx1 |  | ||||||
|         uses: ./ |         uses: ./ | ||||||
|       - |  | ||||||
|         name: Inspect builder 1 |  | ||||||
|         run: | |  | ||||||
|           echo "Name:      ${{ steps.buildx1.outputs.name }}" |  | ||||||
|           echo "Endpoint:  ${{ steps.buildx1.outputs.endpoint }}" |  | ||||||
|           echo "Status:    ${{ steps.buildx1.outputs.status }}" |  | ||||||
|           echo "Flags:     ${{ steps.buildx1.outputs.flags }}" |  | ||||||
|           echo "Platforms: ${{ steps.buildx1.outputs.platforms }}" |  | ||||||
|       - |       - | ||||||
|         name: Set up Docker Buildx 2 |         name: Set up Docker Buildx 2 | ||||||
|         id: buildx2 |  | ||||||
|         uses: ./ |         uses: ./ | ||||||
|       - |  | ||||||
|         name: Inspect builder 2 |  | ||||||
|         run: | |  | ||||||
|           echo "Name:      ${{ steps.buildx2.outputs.name }}" |  | ||||||
|           echo "Endpoint:  ${{ steps.buildx2.outputs.endpoint }}" |  | ||||||
|           echo "Status:    ${{ steps.buildx2.outputs.status }}" |  | ||||||
|           echo "Flags:     ${{ steps.buildx2.outputs.flags }}" |  | ||||||
|           echo "Platforms: ${{ steps.buildx2.outputs.platforms }}" |  | ||||||
| 
 | 
 | ||||||
|   error: |   error: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
| @ -328,18 +298,9 @@ jobs: | |||||||
|           platforms: ${{ matrix.qemu-platforms }} |           platforms: ${{ matrix.qemu-platforms }} | ||||||
|       - |       - | ||||||
|         name: Set up Docker Buildx |         name: Set up Docker Buildx | ||||||
|         id: buildx |  | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           version: ${{ matrix.buildx-version }} |           version: ${{ matrix.buildx-version }} | ||||||
|       - |  | ||||||
|         name: Inspect builder |  | ||||||
|         run: | |  | ||||||
|           echo "Name:      ${{ steps.buildx.outputs.name }}" |  | ||||||
|           echo "Endpoint:  ${{ steps.buildx.outputs.endpoint }}" |  | ||||||
|           echo "Status:    ${{ steps.buildx.outputs.status }}" |  | ||||||
|           echo "Flags:     ${{ steps.buildx.outputs.flags }}" |  | ||||||
|           echo "Platforms: ${{ steps.buildx.outputs.platforms }}" |  | ||||||
| 
 | 
 | ||||||
|   build-ref: |   build-ref: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
| @ -360,10 +321,6 @@ jobs: | |||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           version: https://github.com/docker/buildx.git#${{ matrix.ref }} |           version: https://github.com/docker/buildx.git#${{ matrix.ref }} | ||||||
|       - |  | ||||||
|         name: Check version |  | ||||||
|         run: | |  | ||||||
|           docker buildx version |  | ||||||
|       - |       - | ||||||
|         name: Create Dockerfile |         name: Create Dockerfile | ||||||
|         run: | |         run: | | ||||||
| @ -375,3 +332,100 @@ jobs: | |||||||
|         uses: docker/build-push-action@master |         uses: docker/build-push-action@master | ||||||
|         with: |         with: | ||||||
|           context: . |           context: . | ||||||
|  | 
 | ||||||
|  |   standalone: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     strategy: | ||||||
|  |       fail-fast: false | ||||||
|  |       matrix: | ||||||
|  |         buildx-version: | ||||||
|  |           - latest | ||||||
|  |           - "" | ||||||
|  |     steps: | ||||||
|  |       - | ||||||
|  |         name: Checkout | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |       - | ||||||
|  |         name: Uninstall docker cli | ||||||
|  |         run: | | ||||||
|  |           sudo apt-get purge -y moby-cli moby-buildx | ||||||
|  |       - | ||||||
|  |         name: Set up Docker Buildx | ||||||
|  |         uses: ./ | ||||||
|  |         with: | ||||||
|  |           version: ${{ matrix.buildx-version }} | ||||||
|  |       - | ||||||
|  |         name: Check available in path | ||||||
|  |         if: matrix.standalone | ||||||
|  |         run: | | ||||||
|  |           buildx version | ||||||
|  | 
 | ||||||
|  |   standalone-install-error: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - | ||||||
|  |         name: Checkout | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |       - | ||||||
|  |         name: Uninstall docker cli | ||||||
|  |         run: | | ||||||
|  |           sudo apt-get purge -y moby-cli moby-buildx | ||||||
|  |       - | ||||||
|  |         name: Set up Docker Buildx | ||||||
|  |         id: buildx | ||||||
|  |         continue-on-error: true | ||||||
|  |         uses: ./ | ||||||
|  |         with: | ||||||
|  |           install: true | ||||||
|  |       - | ||||||
|  |         name: Check | ||||||
|  |         run: | | ||||||
|  |           echo "${{ toJson(steps.buildx) }}" | ||||||
|  |           if [ "${{ steps.buildx.outcome }}" != "failure" ] || [ "${{ steps.buildx.conclusion }}" != "success" ]; then | ||||||
|  |             echo "::error::Should have failed" | ||||||
|  |             exit 1 | ||||||
|  |           fi | ||||||
|  | 
 | ||||||
|  |   standalone-kubernetes: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - | ||||||
|  |         name: Checkout | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |       - | ||||||
|  |         name: Uninstall moby | ||||||
|  |         run: | | ||||||
|  |           sudo apt-get purge -y moby-engine moby-cli moby-buildx | ||||||
|  |       - | ||||||
|  |         name: Setup k8s cluster | ||||||
|  |         run: | | ||||||
|  |           set -x | ||||||
|  |           sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg | ||||||
|  |           echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list | ||||||
|  |           sudo apt-get update | ||||||
|  |           sudo apt-get install -y kubelet kubeadm kubectl | ||||||
|  |           sudo swapoff -a | ||||||
|  |           sudo kubeadm init --cri-socket /run/containerd/containerd.sock | ||||||
|  |           mkdir -p $HOME/.kube/ | ||||||
|  |           sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config | ||||||
|  |           sudo chown $USER $HOME/.kube/config | ||||||
|  |           kubectl taint nodes --all node-role.kubernetes.io/master- | ||||||
|  |           kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml | ||||||
|  |           kubectl wait --for=condition=ready --timeout=30s node --all | ||||||
|  |           kubectl get nodes -o wide | ||||||
|  |       - | ||||||
|  |         name: Create Dockerfile | ||||||
|  |         run: | | ||||||
|  |           cat > ./Dockerfile <<EOL | ||||||
|  |           FROM alpine | ||||||
|  |           RUN echo hello | ||||||
|  |           EOL | ||||||
|  |       - | ||||||
|  |         name: Set up Docker Buildx | ||||||
|  |         uses: ./ | ||||||
|  |         with: | ||||||
|  |           driver: kubernetes | ||||||
|  |       - | ||||||
|  |         name: Build | ||||||
|  |         run: | | ||||||
|  |           buildx build . | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 CrazyMax
						CrazyMax