Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
X
xxdk-wasm
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Terraform modules
Analyze
Contributor analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
elixxir
xxdk-wasm
Merge requests
!67
fix for latest client release
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
fix for latest client release
release
into
master
Overview
1
Commits
277
Pipelines
0
Changes
1
Merged
Jake Taylor
requested to merge
release
into
master
2 years ago
Overview
1
Commits
277
Pipelines
0
Changes
1
Expand
0
0
Merge request reports
Viewing commit
5c065829
Show latest version
1 file
+
74
−
32
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
5c065829
Update .gitlab-ci.yml
· 5c065829
Jono Wenger
authored
2 years ago
.gitlab-ci.yml
+
74
−
32
Options
@@ -23,22 +23,13 @@ stages:
-
doc-update
-
version_check
build
:
stage
:
build
go-test
:
stage
:
test
except
:
-
tags
script
:
-
go mod vendor -v
-
mkdir -p release
-
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/
-
go test ./... -v
wasm-test
:
stage
:
test
@@ -47,35 +38,42 @@ wasm-test:
script
:
-
export PATH=/root/go/bin:$PATH
-
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
-
unset SSH_PRIVATE_KEY
-
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
go-test
:
stage
:
test
build
:
stage
:
build
except
:
-
tags
script
:
-
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
:
stage
:
version_check
build-workers
:
stage
:
build
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
-
go mod vendor -v
-
mkdir -p release
-
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
:
stage
:
build
@@ -88,12 +86,44 @@ tag:
-
git tag $(sha256sum release/xxdk.wasm | awk '{ print $1 }') -f
-
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.
#
# pkg.go.dev relies on the proxy.golang.org service (go module cache/proxy) to discover versions of
# Go modules to make docs of. The proxy keeps a list of all known versions of Go modules. The go
# mod proxy does cache pulls for about 30 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.
# pkg.go.dev relies on the proxy.golang.org service (go module cache/proxy) to
# discover versions of Go modules to make docs of. The proxy keeps a list of all
# known versions of Go modules. The go mod proxy does cache pulls for about 30
# 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
:
stage
:
doc-update
except
:
@@ -105,3 +135,15 @@ doc-update:
only
:
-
release
-
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
Loading