ci: use prebuilt images
This commit is contained in:
		| @@ -25,7 +25,6 @@ import ( | |||||||
| 	"io" | 	"io" | ||||||
| 	"log" | 	"log" | ||||||
| 	"os" | 	"os" | ||||||
| 	"os/exec" |  | ||||||
| 	"testing" | 	"testing" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| @@ -121,29 +120,6 @@ var COMMON_SYSTEMS []string = []string{ | |||||||
| 	"ubuntu-24.04", | 	"ubuntu-24.04", | ||||||
| } | } | ||||||
|  |  | ||||||
| func init() { |  | ||||||
| 	for _, id := range ALL_SYSTEMS { |  | ||||||
| 		buildAlrTestImage(id) |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func buildAlrTestImage(id string) { |  | ||||||
| 	cmd := exec.Command( |  | ||||||
| 		"docker", |  | ||||||
| 		"build", |  | ||||||
| 		"-t", fmt.Sprintf("alr-testimage-%s", id), |  | ||||||
| 		"-f", fmt.Sprintf("images/Dockerfile.%s", id), |  | ||||||
| 		".", |  | ||||||
| 	) |  | ||||||
| 	cmd.Stdout = os.Stdout |  | ||||||
| 	cmd.Stderr = os.Stderr |  | ||||||
| 	err := cmd.Run() |  | ||||||
| 	if err != nil { |  | ||||||
| 		fmt.Println("Error:", err) |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func dockerMultipleRun(t *testing.T, name string, ids []string, f func(t *testing.T, runnable e2e.Runnable)) { | func dockerMultipleRun(t *testing.T, name string, ids []string, f func(t *testing.T, runnable e2e.Runnable)) { | ||||||
| 	t.Run(name, func(t *testing.T) { | 	t.Run(name, func(t *testing.T) { | ||||||
| 		for _, id := range ids { | 		for _, id := range ids { | ||||||
| @@ -158,17 +134,22 @@ func dockerMultipleRun(t *testing.T, name string, ids []string, f func(t *testin | |||||||
| 				e, err := e2e.New(e2e.WithVerbose(), e2e.WithName(fmt.Sprintf("alr-%s", truncatedHash))) | 				e, err := e2e.New(e2e.WithVerbose(), e2e.WithName(fmt.Sprintf("alr-%s", truncatedHash))) | ||||||
| 				assert.NoError(t, err) | 				assert.NoError(t, err) | ||||||
| 				t.Cleanup(e.Close) | 				t.Cleanup(e.Close) | ||||||
| 				imageId := fmt.Sprintf("alr-testimage-%s", id) | 				imageId := fmt.Sprintf("ghcr.io/maks1ms/alr-e2e-test-image-%s", id) | ||||||
| 				runnable := e.Runnable(dockerName).Init( | 				runnable := e.Runnable(dockerName).Init( | ||||||
| 					e2e.StartOptions{ | 					e2e.StartOptions{ | ||||||
| 						Image: imageId, | 						Image: imageId, | ||||||
| 						Volumes: []string{ | 						Volumes: []string{ | ||||||
| 							// "./alr:/usr/bin/alr", | 							"./alr:/tmp/alr", | ||||||
| 						}, | 						}, | ||||||
| 						Privileged: true, | 						Privileged: true, | ||||||
| 					}, | 					}, | ||||||
| 				) | 				) | ||||||
| 				assert.NoError(t, e2e.StartAndWaitReady(runnable)) | 				assert.NoError(t, e2e.StartAndWaitReady(runnable)) | ||||||
|  | 				err = runnable.Exec(e2e.NewCommand("/bin/alr-test-setup", "alr-install")) | ||||||
|  | 				err = runnable.Exec(e2e.NewCommand("/bin/alr-test-setup", "passwordless-sudo-setup")) | ||||||
|  | 				if err != nil { | ||||||
|  | 					panic(err) | ||||||
|  | 				} | ||||||
| 				f(t, runnable) | 				f(t, runnable) | ||||||
| 			}) | 			}) | ||||||
| 		} | 		} | ||||||
|   | |||||||
| @@ -1,4 +0,0 @@ | |||||||
| FROM alpine:latest |  | ||||||
| RUN adduser -s /bin/bash alr-user |  | ||||||
| USER alr-user |  | ||||||
| ENTRYPOINT ["tail", "-f", "/dev/null"] |  | ||||||
| @@ -1,6 +0,0 @@ | |||||||
| FROM registry.altlinux.org/sisyphus/alt:latest |  | ||||||
| RUN apt-get update && apt-get install -y ca-certificates rpm-build |  | ||||||
| RUN useradd -m -s /bin/bash alr-user |  | ||||||
| USER alr-user |  | ||||||
| WORKDIR /home/alr-user |  | ||||||
| ENTRYPOINT ["tail", "-f", "/dev/null"] |  | ||||||
| @@ -1,4 +0,0 @@ | |||||||
| FROM archlinux:latest |  | ||||||
| RUN useradd -m -s /bin/bash alr-user |  | ||||||
| USER alr-user |  | ||||||
| ENTRYPOINT ["tail", "-f", "/dev/null"] |  | ||||||
| @@ -1,18 +0,0 @@ | |||||||
| FROM fedora:41 |  | ||||||
| RUN dnf install -y ca-certificates sudo rpm-build bindfs |  | ||||||
| RUN <<EOF |  | ||||||
|     useradd -m -s /bin/bash -G wheel user |  | ||||||
|     echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/user |  | ||||||
|     chmod 0440 /etc/sudoers.d/user |  | ||||||
|  |  | ||||||
|     useradd -m -s /bin/bash alr |  | ||||||
|     mkdir -p /var/cache/alr /etc/alr |  | ||||||
|     chown alr:alr /var/cache/alr /etc/alr |  | ||||||
| EOF |  | ||||||
| COPY ./alr /usr/bin |  | ||||||
| RUN <<EOF |  | ||||||
|     setcap cap_setuid,cap_setgid+ep /usr/bin/alr |  | ||||||
| EOF |  | ||||||
| USER user |  | ||||||
| WORKDIR /home/user |  | ||||||
| ENTRYPOINT ["tail", "-f", "/dev/null"] |  | ||||||
| @@ -1,4 +0,0 @@ | |||||||
| FROM opensuse/leap:latest |  | ||||||
| RUN useradd -m -s /bin/bash alr-user |  | ||||||
| USER alr-user |  | ||||||
| ENTRYPOINT ["tail", "-f", "/dev/null"] |  | ||||||
| @@ -1,4 +0,0 @@ | |||||||
| FROM registry.red-soft.ru/ubi8/ubi:latest |  | ||||||
| RUN useradd -m -s /bin/bash alr-user |  | ||||||
| USER alr-user |  | ||||||
| ENTRYPOINT ["tail", "-f", "/dev/null"] |  | ||||||
| @@ -1,17 +0,0 @@ | |||||||
| FROM ubuntu:24.10 |  | ||||||
| RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates sudo libcap2-bin |  | ||||||
| RUN <<EOF |  | ||||||
|     useradd -m -s /bin/bash user |  | ||||||
|     echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/user |  | ||||||
|     chmod 0440 /etc/sudoers.d/user  |  | ||||||
|      |  | ||||||
|     useradd -m -s /bin/bash alr |  | ||||||
|     mkdir -p /var/cache/alr /etc/alr |  | ||||||
|     chown alr:alr /var/cache/alr /etc/alr |  | ||||||
| EOF |  | ||||||
| COPY ./alr /usr/bin |  | ||||||
| RUN <<EOF |  | ||||||
|     setcap cap_setuid,cap_setgid+ep /usr/bin/alr |  | ||||||
| EOF |  | ||||||
| USER user |  | ||||||
| ENTRYPOINT ["tail", "-f", "/dev/null"] |  | ||||||
| @@ -43,6 +43,10 @@ func TestE2EIssue32Interactive(t *testing.T) { | |||||||
| 				"alr", "fix", | 				"alr", "fix", | ||||||
| 			))) | 			))) | ||||||
|  |  | ||||||
|  | 			assert.NoError(t, r.Exec(e2e.NewCommand( | ||||||
|  | 				"sudo", "apt-get", "update", | ||||||
|  | 			))) | ||||||
|  |  | ||||||
| 			assert.NoError(t, r.Exec(e2e.NewCommand( | 			assert.NoError(t, r.Exec(e2e.NewCommand( | ||||||
| 				"sudo", "alr", "--interactive=false", "install", "ca-certificates", | 				"sudo", "alr", "--interactive=false", "install", "ca-certificates", | ||||||
| 			))) | 			))) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user