Skip to content
Snippets Groups Projects
Commit 5c065829 authored by Jono Wenger's avatar Jono Wenger
Browse files

Update .gitlab-ci.yml

parent 037d3134
No related branches found
No related tags found
2 merge requests!67fix for latest client release,!52XX-4382 / Move indexedDb databases to web workers
This commit is part of merge request !67. Comments created here will be created in the context of that merge request.
...@@ -23,22 +23,13 @@ stages: ...@@ -23,22 +23,13 @@ stages:
- doc-update - doc-update
- version_check - version_check
build: go-test:
stage: build stage: test
except: except:
- tags - tags
script: script:
- go mod vendor -v - go mod vendor -v
- mkdir -p release - go test ./... -v
- GOOS=js GOARCH=wasm go build -ldflags '-w -s' -o release/xxdk.wasm main.go
- GOOS=js GOARCH=wasm go build -ldflags '-w -s' -trimpath -o release/xxdk-channelsIndexedDkWorker.wasm ./indexedDb/impl/channels/...
- GOOS=js GOARCH=wasm go build -ldflags '-w -s' -trimpath -o release/xxdk-dmIndexedDkWorker.wasm ./indexedDb/impl/dm/...
- cp wasm_exec.js release/
- cp indexedDb/impl/channels/channelsIndexedDbWorker.js release/
- cp indexedDb/impl/dm/dmIndexedDbWorker.js release/
artifacts:
paths:
- release/
wasm-test: wasm-test:
stage: test stage: test
...@@ -47,35 +38,42 @@ wasm-test: ...@@ -47,35 +38,42 @@ wasm-test:
script: script:
- export PATH=/root/go/bin:$PATH - export PATH=/root/go/bin:$PATH
- echo > utils/utils_js.s - echo > utils/utils_js.s
- env
# - go install github.com/agnivade/wasmbrowsertest@latest
# - mv ~/go/bin/go_js_wasm_exec ~/go/bin/go_js_wasm_exec.old
# - ln -s ~/go/bin/wasmbrowsertest ~/go/bin/go_js_wasm_exec
- go mod vendor - go mod vendor
- unset SSH_PRIVATE_KEY - unset SSH_PRIVATE_KEY
- unset $(env | grep '=' | awk -F= '{print $1}' | grep -v PATH | grep -v GO | grep -v HOME) - unset $(env | grep '=' | awk -F= '{print $1}' | grep -v PATH | grep -v GO | grep -v HOME)
- GOOS=js GOARCH=wasm go test ./indexedDb/... -v
- GOOS=js GOARCH=wasm go test ./... -v - GOOS=js GOARCH=wasm go test ./... -v
go-test: build:
stage: test stage: build
except: except:
- tags - tags
script: script:
- go mod vendor -v - go mod vendor -v
- go test ./... -v - mkdir -p release
- GOOS=js GOARCH=wasm go build -ldflags '-w -s' -trimpath -o release/xxdk.wasm main.go
- GOOS=js GOARCH=wasm go build -ldflags '-w -s' -trimpath -o release/xxdk-channelsIndexedDkWorker.wasm ./indexedDb/impl/channels/...
- GOOS=js GOARCH=wasm go build -ldflags '-w -s' -trimpath -o release/xxdk-dmIndexedDkWorker.wasm ./indexedDb/impl/dm/...
- cp wasm_exec.js release/
- cp indexedDb/impl/channels/channelsIndexedDbWorker.js release/
- cp indexedDb/impl/dm/dmIndexedDbWorker.js release/
artifacts:
paths:
- release/
version_check: build-workers:
stage: version_check stage: build
except: except:
- tags - tags
only:
- master
image: $DOCKER_IMAGE
script: script:
- GITTAG=$(git describe --tags) - go mod vendor -v
- CODEVERS=$(cat storage/version.go | grep "const SEMVER =" | cut -d ' ' -f4 | tr -d '"') - mkdir -p release
- if [[ $GITTAG != $CODEVERS ]]; then echo "VERSION NUMBER BAD $GITTAG != $CODEVERS"; exit -1; fi - GOOS=js GOARCH=wasm go build -ldflags '-w -s' -trimpath -o release/xxdk-channelsIndexedDkWorker.wasm ./indexedDb/impl/channels/...
- GOOS=js GOARCH=wasm go build -ldflags '-w -s' -trimpath -o release/xxdk-dmIndexedDkWorker.wasm ./indexedDb/impl/dm/...
- cp indexedDb/impl/channels/channelsIndexedDbWorker.js release/
- cp indexedDb/impl/dm/dmIndexedDbWorker.js release/
artifacts:
paths:
- release/
tag: tag:
stage: build stage: build
...@@ -88,12 +86,44 @@ tag: ...@@ -88,12 +86,44 @@ tag:
- git tag $(sha256sum release/xxdk.wasm | awk '{ print $1 }') -f - git tag $(sha256sum release/xxdk.wasm | awk '{ print $1 }') -f
- git push origin_tags -f --tags - git push origin_tags -f --tags
combine_artefacts:
stage: combine_artefacts
except:
- tags
image: $DOCKER_IMAGE
script:
- echo $CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/pipelines/$CI_PIPELINE_ID/jobs
- 'PIPELINE_JOBS=$(curl --header "PRIVATE-TOKEN: $GITLAB_ACCESS_TOKEN" $CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/pipelines/$CI_PIPELINE_ID/jobs)'
- echo $PIPELINE_JOBS
- BUILD_JOB_JSON=$(echo $PIPELINE_JOBS | jq '.[] | select(.name=="build")')
- BUILD_WORKERS_JOB_JSON=$(echo $PIPELINE_JOBS | jq '.[] | select(.name=="build-workers")')
- BUILD_JOB_ID=$(echo $BUILD_JOB_JSON | jq -r '.["id"]')
- BUILD_WORKERS_JOB_ID=$(echo $BUILD_WORKERS_JOB_JSON | jq -r '.["id"]')
- rm -rf release
- mkdir -p release
- 'curl --header "PRIVATE-TOKEN: $GITLAB_ACCESS_TOKEN" --output release/wasm_exec.js $CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/jobs/$BUILD_JOB_ID/artifacts/release/wasm_exec.js'
- 'curl --header "PRIVATE-TOKEN: $GITLAB_ACCESS_TOKEN" --output release/xxdk.wasm $CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/jobs/$BUILD_JOB_ID/artifacts/release/xxdk.wasm'
- 'curl --header "PRIVATE-TOKEN: $GITLAB_ACCESS_TOKEN" --output release/xxdk-channelsIndexedDkWorker.wasm $CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/jobs/$BUILD_WORKERS_JOB_ID/artifacts/release/xxdk-channelsIndexedDkWorker.json'
- 'curl --header "PRIVATE-TOKEN: $GITLAB_ACCESS_TOKEN" --output release/xxdk-dmIndexedDkWorker.wasm $CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/jobs/$BUILD_WORKERS_JOB_ID/artifacts/release/xxdk-dmIndexedDkWorker.json'
- 'curl --header "PRIVATE-TOKEN: $GITLAB_ACCESS_TOKEN" --output release/channelsIndexedDbWorker.js $CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/jobs/$BUILD_WORKERS_JOB_ID/artifacts/release/channelsIndexedDbWorker.js'
- 'curl --header "PRIVATE-TOKEN: $GITLAB_ACCESS_TOKEN" --output release/dmIndexedDbWorker.js $CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/jobs/$BUILD_WORKERS_JOB_ID/artifacts/release/dmIndexedDbWorker.js'
- ls release
artifacts:
paths:
- release/
expose_as: "release"
# This pipeline job will attempt to have pkg.go.dev update docs for xxdk-wasm. # This pipeline job will attempt to have pkg.go.dev update docs for xxdk-wasm.
# #
# pkg.go.dev relies on the proxy.golang.org service (go module cache/proxy) to discover versions of # pkg.go.dev relies on the proxy.golang.org service (go module cache/proxy) to
# Go modules to make docs of. The proxy keeps a list of all known versions of Go modules. The go # discover versions of Go modules to make docs of. The proxy keeps a list of all
# mod proxy does cache pulls for about 30 minutes, so if quickly successive commits are done in # known versions of Go modules. The go mod proxy does cache pulls for about 30
# master/release, this will fail to pull the latest client, and the docs will not update. # minutes, so if quickly successive commits are done in master/release, this
# will fail to pull the latest client, and the docs will not update.
doc-update: doc-update:
stage: doc-update stage: doc-update
except: except:
...@@ -105,3 +135,15 @@ doc-update: ...@@ -105,3 +135,15 @@ doc-update:
only: only:
- release - release
- master - master
version_check:
stage: version_check
except:
- tags
only:
- master
image: $DOCKER_IMAGE
script:
- GITTAG=$(git describe --tags)
- CODEVERS=$(cat storage/version.go | grep "const SEMVER =" | cut -d ' ' -f4 | tr -d '"')
- if [[ $GITTAG != $CODEVERS ]]; then echo "VERSION NUMBER BAD $GITTAG != $CODEVERS"; exit -1; fi
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment