diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3f38a1d..2cca527 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -68,7 +68,7 @@ jobs: fi # Build using Go directly for cross-compilation - go build -ldflags="-s -w -X main.version=$VERSION" -o ${{ matrix.name }} . + go build -ldflags="-s -w -X main.version=$VERSION" -o ${{ matrix.name }} ./cmd/jail - name: Upload binary as artifact uses: actions/upload-artifact@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 891841f..d2afe7a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -62,7 +62,7 @@ jobs: export CGO_ENABLED=0 # Build using Go directly for cross-compilation - go build -ldflags="-s -w -X main.version=${{ github.ref_name }}" -o ${{ matrix.name }} . + go build -ldflags="-s -w -X main.version=${{ github.ref_name }}" -o ${{ matrix.name }} ./cmd/jail - name: Upload binary as artifact uses: actions/upload-artifact@v4 diff --git a/.gitignore b/.gitignore index 1a517a5..1be8644 100644 --- a/.gitignore +++ b/.gitignore @@ -4,8 +4,6 @@ *.dll *.so *.dylib -jail -jail.exe # Test binary, built with `go test -c` *.test diff --git a/Makefile b/Makefile index 1051767..6c6d580 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ all: build build: @echo "Building $(BINARY_NAME) for current platform..." @echo "Version: $(VERSION)" - go build -ldflags="$(LDFLAGS)" -o $(BINARY_NAME) . + go build -ldflags="$(LDFLAGS)" -o $(BINARY_NAME) ./cmd/jail @echo "✓ Built $(BINARY_NAME)" # Build for all supported platforms @@ -25,13 +25,13 @@ build-all: @echo "Version: $(VERSION)" @mkdir -p $(BUILD_DIR) @echo "Building Linux amd64..." - GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o $(BUILD_DIR)/$(BINARY_NAME)-linux-amd64 . + GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o $(BUILD_DIR)/$(BINARY_NAME)-linux-amd64 ./cmd/jail @echo "Building Linux arm64..." - GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o $(BUILD_DIR)/$(BINARY_NAME)-linux-arm64 . + GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o $(BUILD_DIR)/$(BINARY_NAME)-linux-arm64 ./cmd/jail @echo "Building macOS amd64..." - GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-amd64 . + GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-amd64 ./cmd/jail @echo "Building macOS arm64..." - GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-arm64 . + GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-arm64 ./cmd/jail @echo "✓ All binaries built successfully!" @echo "Binaries are in the '$(BUILD_DIR)' directory:" @ls -la $(BUILD_DIR)/ diff --git a/README.md b/README.md index c25e53c..cea4cbe 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ sudo mv jail /usr/local/bin/ ```bash git clone https://github.com/coder/jail cd jail -make build # or: go build -o jail . +make build # or: go build -o jail ./cmd/jail ``` ### Usage @@ -162,7 +162,7 @@ cd jail make build # Or directly with Go -go build -o jail . +go build -o jail ./cmd/jail ``` ## Command-Line Options @@ -207,14 +207,14 @@ make lint ```bash # Build directly with Go -go build -o jail . +go build -o jail ./cmd/jail # Run tests go test ./... # Cross-compile manually -GOOS=linux GOARCH=amd64 go build -o jail-linux . -GOOS=darwin GOARCH=amd64 go build -o jail-macos . +GOOS=linux GOARCH=amd64 go build -o jail-linux ./cmd/jail +GOOS=darwin GOARCH=amd64 go build -o jail-macos ./cmd/jail # Use build script for all platforms ./scripts/build.sh diff --git a/main.go b/cmd/jail/main.go similarity index 100% rename from main.go rename to cmd/jail/main.go diff --git a/scripts/build.sh b/scripts/build.sh index dc597f6..1f0c7df 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -39,7 +39,7 @@ for config in "${configs[@]}"; do env GOOS="$goos" GOARCH="$goarch" CGO_ENABLED=0 go build \ -ldflags="-s -w -X main.version=$VERSION" \ - -o "$BUILD_DIR/$name" . + -o "$BUILD_DIR/$name" ./cmd/jail if [ $? -eq 0 ]; then size=$(du -h "$BUILD_DIR/$name" | cut -f1)