Something went wrong on our end
-
Richard T. Carback III authoredRichard T. Carback III authored
.gitlab-ci.yml 3.53 KiB
image: docker-registry.xx.network/elixxir/sysadmin/backend-ci:go1.21-cuda11.1.1
before_script:
- go version || echo "Go executable not found."
- echo $CI_BUILD_REF
- echo $CI_PROJECT_DIR
- echo $PWD
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan -t rsa $GITLAB_SERVER > ~/.ssh/known_hosts
- rm -rf ~/.gitconfig
- git config --global url."git@$GITLAB_SERVER:".insteadOf "https://gitlab.com/"
- git config --global url."git@$GITLAB_SERVER:".insteadOf "https://git.xx.network/" --add
- export PATH=$HOME/go/bin:$PATH
- export GOPATH=$HOME/go/bin
- echo $DOCKER_IMAGE
stages:
- test
- build
- npm
- doc-update
go-test:
stage: test
script:
- go mod vendor -v
- go test ./... -v
wasm-test:
stage: test
script:
- export PATH=/root/go/bin:$PATH
- go mod vendor
- unset SSH_PRIVATE_KEY
- unset $(env | grep '=' | awk -F= '{print $1}' | grep -v PATH | grep -v GO | grep -v HOME)
# - rm vendor/gitlab.com/elixxir/wasm-utils/exception/throw_js.s
# - mv vendor/gitlab.com/elixxir/wasm-utils/exception/throws.dev vendor/gitlab.com/elixxir/wasm-utils/exception/throws.go
# - GOOS=js GOARCH=wasm go test ./... -v
- make tests
build:
stage: build
script:
- go mod vendor -v
- mkdir -p release
# Main library
- GOOS=js GOARCH=wasm go build -ldflags '-w -s' -trimpath -o release/xxdk.wasm main.go
# Workers
- GOOS=js GOARCH=wasm go build -ldflags '-w -s' -trimpath -o release/xxdk-channelsIndexedDbWorker.wasm ./indexedDb/impl/channels/...
- GOOS=js GOARCH=wasm go build -ldflags '-w -s' -trimpath -o release/xxdk-dmIndexedDbWorker.wasm ./indexedDb/impl/dm/...
- GOOS=js GOARCH=wasm go build -ldflags '-w -s' -trimpath -o release/xxdk-logFileWorker.wasm ./logging/workerThread/...
- GOOS=js GOARCH=wasm go build -ldflags '-w -s' -trimpath -o release/xxdk-stateIndexedDbWorker.wasm ./indexedDb/impl/state/...
# Wasm executor
- cp wasm_exec.js release/
# ndf reference file
- cp ndf.js release/
artifacts:
paths:
- release/
expose_as: "release"
s3upload:
stage: npm
only:
- tags
script:
- mc --version