diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index 8f3d3fc5..4e8e7a44 100644 --- a/.github/workflows/build-deb.yml +++ b/.github/workflows/build-deb.yml @@ -2,7 +2,7 @@ name: Build Deb on: push: - branches: [ develop, '**-release', 'release-**' ] + branches: [ develop, '**-release', 'release-**', 'feat/chain-upgrade' ] workflow_dispatch: env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-22.04 env: SGX_MODE: HW - VERSION: "1.0.2" + VERSION: "1.0.3" PRODUCTION_MODE: true steps: - uses: actions/checkout@v3 diff --git a/Makefile b/Makefile index 4b2b58ed..03d5140b 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION := v1.0.2 +VERSION := v1.0.3 COMMIT := $(shell git log -1 --format='%H') ENCLAVE_HOME ?= $(HOME)/.swisstronik-enclave PRODUCTION_MODE ?= false @@ -85,11 +85,11 @@ install: go.sum build: go.sum $(MAKE) -C go-sgxvm build - go build -mod=mod $(BUILD_FLAGS) -tags osusergo,netgo -o build/swisstronikd ./cmd/swisstronikd + go build -mod=mod $(BUILD_FLAGS) -tags osusergo,netgo -o build/swisstronikd-$(VERSION) ./cmd/swisstronikd build_d: go.sum $(MAKE) -C go-sgxvm build_d - go build -mod=mod $(BUILD_FLAGS) -tags osusergo,netgo -o build/swisstronikd ./cmd/swisstronikd + go build -mod=mod $(BUILD_FLAGS) -tags osusergo,netgo -o build/swisstronikd-$(VERSION) ./cmd/swisstronikd build_attestation_server: go.sum AS_MODE=true $(MAKE) -C go-sgxvm build_AS diff --git a/docker/deb.Dockerfile b/docker/deb.Dockerfile index 207cedc6..d70af8b8 100644 --- a/docker/deb.Dockerfile +++ b/docker/deb.Dockerfile @@ -47,7 +47,7 @@ RUN make build ############ Node binary for deb package FROM compile-base as build-deb -ARG BUILD_VERSION="v1.0.2" +ARG BUILD_VERSION="v1.0.3" ENV VERSION=${BUILD_VERSION} ARG DEB_BIN_DIR=/usr/local/bin ENV DEB_BIN_DIR=${DEB_BIN_DIR} @@ -59,9 +59,9 @@ ARG ENCLAVE_HOME=${ENCLAVE_HOME} WORKDIR /root # Copy over binaries from the build-env -COPY --from=compile-chain /root/chain/build/swisstronikd swisstronikd +COPY --from=compile-chain /root/chain/build/swisstronikd-v1.0.3 swisstronikd-v1.0.3 COPY --from=compile-chain /root/.swisstronik-enclave /usr/lib/.swisstronik-enclave -COPY --from=compile-chain /root/chain/go-sgxvm/internal/api/libsgx_wrapper_v1.0.2.x86_64.so /usr/lib/.swisstronik-enclave/libsgx_wrapper_v1.0.2.x86_64.so +COPY --from=compile-chain /root/chain/go-sgxvm/internal/api/libsgx_wrapper_v1.0.3.x86_64.so /usr/lib/.swisstronik-enclave/libsgx_wrapper_v1.0.3.x86_64.so COPY ./deb ./deb COPY ./scripts/build_deb.sh . diff --git a/go-sgxvm/Makefile b/go-sgxvm/Makefile index 63d721cb..07031575 100644 --- a/go-sgxvm/Makefile +++ b/go-sgxvm/Makefile @@ -8,7 +8,7 @@ CXX=clang++ SGX_MODE ?= HW ENCLAVE_HOME ?= $(HOME)/.swisstronik-enclave PRODUCTION_MODE ?= false -VERSION := v1.0.2 +VERSION := v1.0.3 build: @ENCLAVE_HOME=$(ENCLAVE_HOME) PRODUCTION_MODE=$(PRODUCTION_MODE) SGX_MODE=$(SGX_MODE) make build -C ../sgxvm/ @@ -34,4 +34,4 @@ build_AS: build go build -tags osusergo,netgo,attestationServer -o ../build/attestationServer ./cmd/attestation build_AS_d: build_d - go build -tags osusergo,netgo,attestationServer -o ../build/attestationServer ./cmd/attestation \ No newline at end of file + go build -tags osusergo,netgo,attestationServer -o ../build/attestationServer ./cmd/attestation diff --git a/go-sgxvm/internal/api/link_glibclinux_aarch64.go b/go-sgxvm/internal/api/link_glibclinux_aarch64.go index bd5d5ab6..2e765e50 100644 --- a/go-sgxvm/internal/api/link_glibclinux_aarch64.go +++ b/go-sgxvm/internal/api/link_glibclinux_aarch64.go @@ -2,5 +2,5 @@ package api -// #cgo LDFLAGS: -Wl,-rpath,${SRCDIR} -L${SRCDIR} -lsgx_wrapper_v1.0.2.aarch64 +// #cgo LDFLAGS: -Wl,-rpath,${SRCDIR} -L${SRCDIR} -lsgx_wrapper_v1.0.3.aarch64 import "C" diff --git a/go-sgxvm/internal/api/link_glibclinux_x86_64.go b/go-sgxvm/internal/api/link_glibclinux_x86_64.go index 8db1308f..7e5dd036 100644 --- a/go-sgxvm/internal/api/link_glibclinux_x86_64.go +++ b/go-sgxvm/internal/api/link_glibclinux_x86_64.go @@ -2,5 +2,5 @@ package api -// #cgo LDFLAGS: -Wl,-rpath,${SRCDIR} -L${SRCDIR} -lsgx_wrapper_v1.0.2.x86_64 +// #cgo LDFLAGS: -Wl,-rpath,${SRCDIR} -L${SRCDIR} -lsgx_wrapper_v1.0.3.x86_64 import "C" diff --git a/go-sgxvm/internal/api/link_mac.go b/go-sgxvm/internal/api/link_mac.go index b1a7c3e9..9b1492aa 100644 --- a/go-sgxvm/internal/api/link_mac.go +++ b/go-sgxvm/internal/api/link_mac.go @@ -2,5 +2,5 @@ package api -// #cgo LDFLAGS: -Wl,-rpath,${SRCDIR} -L${SRCDIR} -lsgx_wrapper_v1.0.2 +// #cgo LDFLAGS: -Wl,-rpath,${SRCDIR} -L${SRCDIR} -lsgx_wrapper_v1.0.3 import "C" diff --git a/go-sgxvm/internal/api/link_muslc.go b/go-sgxvm/internal/api/link_muslc.go index 7fc22c74..de53c6ca 100644 --- a/go-sgxvm/internal/api/link_muslc.go +++ b/go-sgxvm/internal/api/link_muslc.go @@ -2,5 +2,5 @@ package api -// #cgo LDFLAGS: -Wl,-rpath,${SRCDIR} -L${SRCDIR} -lsgx_wrapper_v1.0.2_muslc +// #cgo LDFLAGS: -Wl,-rpath,${SRCDIR} -L${SRCDIR} -lsgx_wrapper_v1.0.3_muslc import "C" diff --git a/go-sgxvm/internal/api/link_system.go b/go-sgxvm/internal/api/link_system.go index 599bdb2a..36752d35 100644 --- a/go-sgxvm/internal/api/link_system.go +++ b/go-sgxvm/internal/api/link_system.go @@ -2,5 +2,5 @@ package api -// #cgo LDFLAGS: -lsgx_wrapper_v1.0.2 +// #cgo LDFLAGS: -lsgx_wrapper_v1.0.3 import "C" diff --git a/go-sgxvm/internal/api/link_windows.go b/go-sgxvm/internal/api/link_windows.go index 940181e5..f74dbd7d 100644 --- a/go-sgxvm/internal/api/link_windows.go +++ b/go-sgxvm/internal/api/link_windows.go @@ -2,5 +2,5 @@ package api -// #cgo LDFLAGS: -Wl,-rpath,${SRCDIR} -L${SRCDIR} -lsgx_wrapper_v1.0.2 +// #cgo LDFLAGS: -Wl,-rpath,${SRCDIR} -L${SRCDIR} -lsgx_wrapper_v1.0.3 import "C" diff --git a/go-sgxvm/src/enclave/doorbell.rs b/go-sgxvm/src/enclave/doorbell.rs index c6a891aa..3473a077 100644 --- a/go-sgxvm/src/enclave/doorbell.rs +++ b/go-sgxvm/src/enclave/doorbell.rs @@ -5,7 +5,7 @@ use std::env; use std::ops::Deref; use std::time::Duration; -static ENCLAVE_FILE: &'static str = "v1.0.2_enclave.signed.so"; +static ENCLAVE_FILE: &'static str = "v1.0.3_enclave.signed.so"; const ENCLAVE_LOCK_TIMEOUT: u64 = 6 * 5; pub struct EnclaveDoorbell { @@ -26,7 +26,7 @@ impl EnclaveDoorbell { secs_attr: sgx_attributes_t { flags: 0, xfrm: 0 }, misc_select: 0, }; - + let enclave_home = env::var("ENCLAVE_HOME").unwrap_or_else(|_| { let dir_path = String::from( std::env::home_dir() @@ -37,12 +37,12 @@ impl EnclaveDoorbell { format!("{}/.swisstronik-enclave", dir_path) }); let enclave_path = format!("{}/{}", enclave_home, ENCLAVE_FILE); - + println!( "[Enclave Doorbell] Creating enclave. Enclave location: {:?}", enclave_path ); - + let enclave = SgxEnclave::create( enclave_path, debug, diff --git a/scripts/build_deb.sh b/scripts/build_deb.sh index a56cb5a5..b1dc8ab6 100644 --- a/scripts/build_deb.sh +++ b/scripts/build_deb.sh @@ -6,8 +6,8 @@ set -e rm -rf /tmp/swisstronik-build mkdir -p /tmp/swisstronik-build/deb/"$DEB_BIN_DIR" -cp -f ./swisstronikd /tmp/swisstronik-build/deb/"$DEB_BIN_DIR"/swisstronikd -chmod +x /tmp/swisstronik-build/deb/"$DEB_BIN_DIR"/swisstronikd +cp -f ./swisstronikd-v1.0.3 /tmp/swisstronik-build/deb/"$DEB_BIN_DIR"/swisstronikd-v1.0.3 +chmod +x /tmp/swisstronik-build/deb/"$DEB_BIN_DIR"/swisstronikd-v1.0.3 mkdir -p /tmp/swisstronik-build/deb/"$DEB_LIB_DIR"