diff --git a/Dockerfile b/Dockerfile index e937daa..da681f5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,54 +1,52 @@ -FROM ubuntu:24.04 AS wash-build-image - -# Install dependencies and tools -RUN apt-get update && apt-get install -y \ - curl \ - wget \ - tar \ - git \ - build-essential \ - && rm -rf /var/lib/apt/lists/* - -# ----------------- Install WasmCloud ----------------- -RUN curl -s "https://packagecloud.io/install/repositories/wasmcloud/core/script.deb.sh" | bash && \ - apt-get install -y wash - -# ----------------- Install Go 1.23 ----------------- -RUN wget https://go.dev/dl/go1.23.4.linux-amd64.tar.gz && \ - tar -C /usr/local -xzf go1.23.4.linux-amd64.tar.gz && \ - rm go1.23.4.linux-amd64.tar.gz - -# Set Go environment variables -ENV PATH="/usr/local/go/bin:${PATH}" -ENV GOPATH="/go" -ENV GOROOT="/usr/local/go" - -# ----------------- Install TinyGo 0.34.0 ----------------- -RUN wget https://github.com/tinygo-org/tinygo/releases/download/v0.34.0/tinygo_0.34.0_amd64.deb && \ - dpkg -i tinygo_0.34.0_amd64.deb && \ - rm tinygo_0.34.0_amd64.deb - -# ----------------- Install Rust ----------------- -# Install Rust -RUN curl https://sh.rustup.rs -sSf | sh -s -- -y && \ - . "$HOME/.cargo/env" && \ - cargo install --locked wasm-tools - -# Set Rust environment variables -ENV PATH="/root/.cargo/bin:${PATH}" - -# Verify installations -RUN go version && tinygo version && cargo --version && wash --version && wasm-tools --version - - -# ----------------- Build the WasmCloud module ----------------- -FROM wash-build-image - -RUN mkdir /app -WORKDIR /app - -USER ubuntu - -# Install go dependencies, build the wasm module, push it to the registry -#CMD ["sh", "-c", "go mod download && go mod verify && go mod tidy && wash build && wash push $REGISTRY build/*_s.wasm"] -CMD ["sh", "-c", "go mod download && go mod verify && go mod tidy && chmod -R u+rw /app && sleep 2 && wash build && wash push $REGISTRY build/*_s.wasm"] \ No newline at end of file +FROM ubuntu:24.04 AS wash-build-image + +# Install dependencies and tools +RUN apt-get update && apt-get install -y \ + curl \ + wget \ + tar \ + git \ + build-essential \ + && rm -rf /var/lib/apt/lists/* + +# ----------------- Install WasmCloud ----------------- +RUN curl -s "https://packagecloud.io/install/repositories/wasmcloud/core/script.deb.sh" | bash && \ + apt-get install -y wash + +# ----------------- Install Go 1.23 ----------------- +RUN wget https://go.dev/dl/go1.23.4.linux-amd64.tar.gz && \ + tar -C /usr/local -xzf go1.23.4.linux-amd64.tar.gz && \ + rm go1.23.4.linux-amd64.tar.gz + +# Set Go environment variables +ENV PATH="/usr/local/go/bin:${PATH}" +ENV GOPATH="/go" +ENV GOROOT="/usr/local/go" + +# ----------------- Install TinyGo 0.34.0 ----------------- +RUN wget https://github.com/tinygo-org/tinygo/releases/download/v0.34.0/tinygo_0.34.0_amd64.deb && \ + dpkg -i tinygo_0.34.0_amd64.deb && \ + rm tinygo_0.34.0_amd64.deb + +# ----------------- Install Rust ----------------- +# Install Rust +RUN curl https://sh.rustup.rs -sSf | sh -s -- -y && \ + . "$HOME/.cargo/env" && \ + cargo install --locked wasm-tools + +# Set Rust environment variables +ENV PATH="/root/.cargo/bin:${PATH}" + +# Verify installations +RUN go version && tinygo version && cargo --version && wash --version && wasm-tools --version + + +# ----------------- Build the WasmCloud module ----------------- +FROM wash-build-image + +RUN mkdir /app +WORKDIR /app + +# Install go dependencies, build the wasm module, push it to the registry +#CMD ["sh", "-c", "go mod download && go mod verify && go mod tidy && wash build && wash push $REGISTRY build/*_s.wasm"] +CMD ["sh", "-c", "go env -w GOFLAGS=-buildvcs=false && go mod download && go mod verify && wash build && wash push $REGISTRY build/*_s.wasm"] \ No newline at end of file