diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 5acfa0dc..7d253524 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -150,51 +150,55 @@ jobs: try { const kubeconfig="/tmp/buildkit-k3s/kubeconfig.yaml"; - core.info(`storing kubeconfig in ${kubeconfig}`); - await exec.exec('docker', ["run", "-d", - "--privileged", - "--name=buildkit-k3s", - "-e", "K3S_KUBECONFIG_OUTPUT="+kubeconfig, - "-e", "K3S_KUBECONFIG_MODE=666", - "-v", "/tmp/buildkit-k3s:/tmp/buildkit-k3s", - "-p", "6443:6443", - "-p", "80:80", - "-p", "443:443", - "-p", "8080:8080", - "rancher/k3s:${{ env.K3S_VERSION }}", "server" - ]); - await wait(10000); - - core.exportVariable('KUBECONFIG', kubeconfig); + await core.group(`Starting rancher/k3s:${{ env.K3S_VERSION }}`, async () => { + core.info(`storing kubeconfig in ${kubeconfig}`); + await exec.exec('docker', ["run", "-d", + "--privileged", + "--name=buildkit-k3s", + "-e", "K3S_KUBECONFIG_OUTPUT="+kubeconfig, + "-e", "K3S_KUBECONFIG_MODE=666", + "-v", "/tmp/buildkit-k3s:/tmp/buildkit-k3s", + "-p", "6443:6443", + "-p", "80:80", + "-p", "443:443", + "-p", "8080:8080", + "rancher/k3s:${{ env.K3S_VERSION }}", "server" + ]); + await wait(10000); + core.exportVariable('KUBECONFIG', kubeconfig); + }); + + await core.group(`KUBECONFIG`, async () => { + core.info(fs.readFileSync(process.env.KUBECONFIG, {encoding: 'utf-8'}).trim()); + }); let nodeName; - for (let count = 1; count <= 5; count++) { - try { - const nodeNameOutput = await exec.getExecOutput("kubectl get nodes --no-headers -oname"); - nodeName = nodeNameOutput.stdout - } catch (error) { - core.info(`Unable to resolve node name (${error.message}). Attempt ${count} of 5.`) - } finally { - if (nodeName) { - break; + await core.group(`Checking nodes`, async () => { + for (let count = 1; count <= 5; count++) { + try { + const nodeNameOutput = await exec.getExecOutput("kubectl get nodes --no-headers -oname"); + nodeName = nodeNameOutput.stdout + } catch (error) { + core.info(`Unable to resolve node name (${error.message}). Attempt ${count} of 5.`) + } finally { + if (nodeName) { + break; + } + await wait(5000); } - await wait(5000); } - } + }); if (!nodeName) { throw new Error(`Unable to resolve node name after 5 attempts.`); } - - await exec.exec(`kubectl wait --for=condition=Ready ${nodeName}`); + + await core.group(`Waiting for ready state`, async () => { + await exec.exec(`kubectl wait --for=condition=Ready ${nodeName}`); + }); } catch (error) { core.setFailed(error.message); } - - - name: Print KUBECONFIG - if: matrix.driver == 'kubernetes' - run: | - yq ${{ env.KUBECONFIG }} - name: Launch remote buildkitd if: matrix.driver == 'remote'