Skip to content

Commit

Permalink
Try again with docker
Browse files Browse the repository at this point in the history
  • Loading branch information
delneg committed Jul 31, 2024
1 parent 45b54f0 commit ec3225d
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 12 deletions.
44 changes: 32 additions & 12 deletions .github/workflows/test-ci-sw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,37 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-go@v4
with:
go-version: 'stable'
- name: "Install deps"
- name: Retrieve the secret and decode it to a file
env:
ENCLAVE_PK_BASE64: ${{ secrets.ENCLAVE_PK_BASE64 }}
run: |
sudo apt-get install -y protobuf-compiler curl
go install google.golang.org/protobuf/cmd/[email protected]
go install google.golang.org/grpc/cmd/[email protected]
cargo install protobuf-codegen --version "2.8.1" -f
rm sgxvm/Enclave_dev_private.pem || true
rm sgxvm/Enclave_private.pem || true
echo $ENCLAVE_PK_BASE64 | base64 --decode > sgxvm/Enclave_private.pem
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: "Build SW mode"
run: SGX_MODE=SW make build
- name: "Test SW mode"
run: make test-all
- name: Build Test Image
uses: docker/build-push-action@v4
with:
file: ./docker/test-sw.Dockerfile
context: .
load: true
tags: test-sw
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
SGX_MODE=SW
ENCLAVE_HOME="/usr/lib/"
PRODUCTION_MODE=true
target: compile-chain
- name: Run Test Image
run: |
docker run -v $GITHUB_WORKSPACE/build:/build test-sw
45 changes: 45 additions & 0 deletions docker/test-sw.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
############ Install Intel SGX SDK & SGX PSW
FROM ghcr.io/sigmagmbh/sgx:2.23-jammy-554238b as base
RUN wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key add -
RUN apt-get update


############ Compilation base
FROM base as compile-base

RUN apt-get install -y protobuf-compiler curl

# Install rust
ENV PATH="/usr/local/go/bin:/go/bin:/root/.cargo/bin:${PATH}"
ENV GOROOT=/usr/local/go
ENV GOPATH=/go/

RUN curl https://sh.rustup.rs -sSf | bash -s -- -y > /dev/null 2>&1
RUN cargo install protobuf-codegen --version "2.8.1" -f

# Install golang
ADD https://go.dev/dl/go1.22.5.linux-amd64.tar.gz go.linux-amd64.tar.gz
RUN tar -C /usr/local -xzf go.linux-amd64.tar.gz && rm go.linux-amd64.tar.gz
RUN go install google.golang.org/protobuf/cmd/[email protected] && \
go install google.golang.org/grpc/cmd/[email protected] > /dev/null 2>&1



############ Compile enclave & chain
FROM compile-base as compile-chain

RUN apt-get install -y automake autoconf build-essential libtool git

ARG SGX_MODE=SW
ENV SGX_MODE=${SGX_MODE}
ARG PRODUCTION_MODE=true
ENV PRODUCTION_MODE=${PRODUCTION_MODE}
ENV SGX_SDK="/opt/intel/sgxsdk"
ENV PATH="${PATH}:${SGX_SDK}/bin:${SGX_SDK}/bin/x64"
ENV PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig"
ENV LD_LIBRARY_PATH="/opt/intel/sgxsdk/sdk_libs:${LD_LIBRARY_PATH}"

COPY . /root/chain
WORKDIR /root/chain
RUN make build
RUN make test-all

0 comments on commit ec3225d

Please sign in to comment.