diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1f772e51..ae47cfef 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,9 +16,24 @@ jobs: steps: - name: Checkout uses: actions/checkout@v5 - - name: Set up build dependencies + - name: Set up docker image context run: | - ./.devcontainer/install-deps.sh + mkdir -p .docker + cp \ + Dockerfile.build \ + go.mod \ + go.sum \ + .docker/ + cp -r .devcontainer .docker/ + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Build docker image + uses: docker/build-push-action@v6 + with: + context: .docker + file: .docker/Dockerfile.build + push: false + tags: ghcr.io/jetkvm/buildkit:latest - name: Set up Cmake cache uses: actions/cache@v4 with: @@ -39,15 +54,31 @@ jobs: - name: Build frontend run: | make frontend - - name: Build application + - name: Build application inside Docker container run: | - make build_dev + docker run \ + --interactive \ + --tty \ + --rm \ + --env JETKVM_INSIDE_DOCKER=1 \ + -v "$(pwd):/build" \ + -v "$(pwd)/.cache:/root/.cache/go-build" \ + ghcr.io/jetkvm/buildkit:latest \ + make build_dev - name: Run tests run: | go test ./... -json > testreport.json - name: Make test cases run: | - make build_dev_test + docker run \ + --interactive \ + --tty \ + --rm \ + --env JETKVM_INSIDE_DOCKER=1 \ + -v "$(pwd):/build" \ + -v "$(pwd)/.cache:/root/.cache/go-build" \ + ghcr.io/jetkvm/buildkit:latest \ + make build_dev_test - name: Golang Test Report uses: becheran/go-testreport@v0.3.2 with: