From 6015cf59b0b303eda1d39cbd14860a85c7b5bd16 Mon Sep 17 00:00:00 2001 From: joshjms Date: Thu, 30 Oct 2025 19:04:35 +0800 Subject: [PATCH] ci: Add e2e test Signed-off-by: joshjms --- .github/workflows/test-e2e.yml | 35 ++++++++++++++++++++++++++++++++++ Makefile | 21 ++++++++++---------- 2 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/test-e2e.yml diff --git a/.github/workflows/test-e2e.yml b/.github/workflows/test-e2e.yml new file mode 100644 index 0000000..d084c3c --- /dev/null +++ b/.github/workflows/test-e2e.yml @@ -0,0 +1,35 @@ +name: Test E2E + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + test-sandbox: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up dependencies + run: | + sudo apt-get update + sudo apt-get install -y make + + sudo apt install -y skopeo + + sudo apt install -y curl tar + curl -L https://github.com/opencontainers/umoci/releases/download/v0.5.1/umoci.linux.amd64 -o umoci + chmod +x umoci + sudo mv umoci /usr/local/bin/umoci + + wget https://go.dev/dl/go1.25.1.linux-amd64.tar.gz + sudo tar -C /usr/local -xzf go1.25.1.linux-amd64.tar.gz + export PATH=$PATH:/usr/local/go/bin + go version + + - name: Run e2e tests + run: make test-e2e diff --git a/Makefile b/Makefile index 9993d8e..7588113 100644 --- a/Makefile +++ b/Makefile @@ -23,17 +23,8 @@ test-job: make-rootfs @echo "Running job tests..." sudo env "PATH=$$PATH:/usr/local/go/bin" go test github.com/joshjms/castletown/job -v - -.PHONY: build -build: - bash scripts/build.sh - -.PHONY: dev -dev: - sudo env "PATH=$$PATH:/usr/local/go/bin" go run main.go server - -.PHONY: e2e -e2e: prepare-dirs make-rootfs +.PHONY: test-e2e +test-e2e: prepare-dirs make-rootfs @echo "Running end-to-end tests..." @echo "Building castletown..." @sudo env "PATH=$$PATH:/usr/local/go/bin" go build -o tmp/castletown main.go @@ -44,3 +35,11 @@ e2e: prepare-dirs make-rootfs @sudo pkill castletown @sudo rm -rf tmp +.PHONY: build +build: + bash scripts/build.sh + +.PHONY: dev +dev: + sudo env "PATH=$$PATH:/usr/local/go/bin" go run main.go server +