mirror of
				https://github.com/docker/setup-buildx-action.git
				synced 2025-11-04 06:34:19 +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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user