Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
Metabase
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Engineering Digital Service
Metabase
Commits
6a01238f
Unverified
Commit
6a01238f
authored
6 months ago
by
Mahatthana (Kelvin) Nomsawadi
Committed by
GitHub
6 months ago
Browse files
Options
Downloads
Patches
Plain Diff
Remove the uberjar build process from SDK release workflow (#48729)
parent
6ca89399
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
.github/workflows/release-embedding-sdk.yml
+4
-38
4 additions, 38 deletions
.github/workflows/release-embedding-sdk.yml
.github/workflows/uberjar-sdk.yml
+0
-157
0 additions, 157 deletions
.github/workflows/uberjar-sdk.yml
with
4 additions
and
195 deletions
.github/workflows/release-embedding-sdk.yml
+
4
−
38
View file @
6a01238f
...
...
@@ -5,11 +5,11 @@ on:
inputs
:
# TODO: Add a version validation, so the workflow won't fail when publishing to npm
sdk_version
:
description
:
'
SDK
version
(e.g.
0.1.3)
'
description
:
"
SDK
version
(e.g.
0.1.3)
"
type
:
string
required
:
true
git_ref
:
description
:
'
A
git
commit
hash
that
will
be
used
to
build
the
SDK
'
description
:
"
A
git
commit
hash
that
will
be
used
to
build
the
SDK
"
type
:
string
required
:
true
...
...
@@ -115,42 +115,8 @@ jobs:
name
:
sdk-changelog-diff
path
:
./changelog-diff
build-jar
:
needs
:
test
uses
:
./.github/workflows/uberjar-sdk.yml
with
:
git_ref
:
${{ inputs.git_ref }}
image_name
:
embedding-sdk-${{ inputs.sdk_version }}
secrets
:
inherit
upload-jar
:
needs
:
build-jar
runs-on
:
ubuntu-22.04
timeout-minutes
:
20
steps
:
-
uses
:
actions/download-artifact@v4
name
:
Retrieve uberjar artifact
with
:
name
:
metabase-ee-uberjar
-
name
:
Configure AWS credentials
uses
:
aws-actions/configure-aws-credentials@v4
with
:
aws-access-key-id
:
${{ secrets.AWS_S3_RELEASE_ACCESS_KEY_ID }}
aws-secret-access-key
:
${{ secrets.AWS_S3_RELEASE_SECRET_ACCESS_KEY }}
aws-region
:
${{ vars.AWS_REGION }}
-
name
:
Upload uberjar to S3
env
:
BUCKET
:
${{ vars.AWS_S3_DOWNLOADS_BUCKET }}
BUCKET_PATH
:
sdk/v${{ inputs.sdk_version }}/metabase.jar
FILE
:
./target/uberjar/metabase.jar
shell
:
bash
run
:
|
aws s3 cp $FILE s3://$BUCKET/$BUCKET_PATH
publish-npm
:
needs
:
[
build-sdk
,
upload-jar
]
needs
:
build-sdk
runs-on
:
ubuntu-22.04
timeout-minutes
:
20
steps
:
...
...
@@ -249,6 +215,6 @@ jobs:
git tag ${{ env.tag }}
-
name
:
Push the new tag
id
:
push-tag
id
:
push-tag
run
:
|
git push origin ${{ env.tag }}
This diff is collapsed.
Click to expand it.
.github/workflows/uberjar-sdk.yml
deleted
100644 → 0
+
0
−
157
View file @
6ca89399
name
:
Build + Docker Uberjar for SDK
on
:
# This workflow will be called from "release-embedding-sdk.yml"
workflow_call
:
inputs
:
git_ref
:
description
:
'
Valid
git
reference
e.g.
branches,
tags,
hashes'
type
:
string
required
:
true
image_name
:
description
:
Docker image used to upload to Dockerhub
type
:
string
required
:
true
jobs
:
build
:
name
:
Build MB ${{ matrix.edition }}
runs-on
:
ubuntu-22.04
timeout-minutes
:
40
strategy
:
matrix
:
edition
:
[
ee
]
env
:
MB_EDITION
:
${{ matrix.edition }}
INTERACTIVE
:
false
steps
:
-
name
:
Check out the code
uses
:
actions/checkout@v4
with
:
ref
:
${{ inputs.git_ref }}
-
name
:
Prepare front-end environment
uses
:
./.github/actions/prepare-frontend
-
name
:
Prepare back-end environment
uses
:
./.github/actions/prepare-backend
with
:
m2-cache-key
:
uberjar
-
name
:
Build
run
:
./bin/build.sh
-
name
:
Prepare uberjar artifact
uses
:
./.github/actions/prepare-uberjar-artifact
with
:
name
:
metabase-ee-uberjar
check_jar_health
:
runs-on
:
ubuntu-22.04
name
:
Is ${{ matrix.edition }} (java ${{ matrix.java-version }}) healthy?
needs
:
build
timeout-minutes
:
10
strategy
:
matrix
:
edition
:
[
ee
]
java-version
:
[
11
,
17
]
steps
:
-
name
:
Prepare JRE (Java Run-time Environment)
uses
:
actions/setup-java@v4
with
:
java-package
:
jre
java-version
:
${{ matrix.java-version }}
distribution
:
'
temurin'
-
run
:
java -version
-
uses
:
actions/download-artifact@v4
name
:
Retrieve uberjar artifact
with
:
name
:
metabase-ee-uberjar
-
name
:
Launch uberjar
run
:
java -jar ./target/uberjar/metabase.jar &
-
name
:
Wait for Metabase to start
run
:
while ! curl 'http://localhost:3000/api/health' | grep '{"status":"ok"}'; do sleep 1; done
containerize_test_and_push_container
:
runs-on
:
ubuntu-22.04
name
:
Containerize ${{ matrix.edition }}
needs
:
check_jar_health
strategy
:
matrix
:
edition
:
[
ee
]
services
:
registry
:
image
:
registry:2
ports
:
-
5000:5000
steps
:
-
name
:
Extract and clean branch name
shell
:
bash
run
:
echo "branch=$(echo $GITHUB_REF_NAME | sed 's/[^-._a-zA-Z0-9]/-/g')" >> $GITHUB_OUTPUT
id
:
extract_branch
-
name
:
Set image name to env
run
:
echo "image_name=${{ inputs.image_name || steps.extract_branch.outputs.branch }}" >> "$GITHUB_ENV"
-
name
:
Verify the intended tag of the container image
run
:
echo "Container image will be tagged as ${{ env.image_name }}-${{ matrix.edition }}"
-
name
:
Check out the code (Dockerfile needed)
uses
:
actions/checkout@v4
with
:
ref
:
${{ inputs.git_ref }}
-
name
:
Download uploaded artifacts to insert into container
uses
:
actions/download-artifact@v4
with
:
name
:
metabase-ee-uberjar
path
:
bin/docker/
-
name
:
Move the ${{ matrix.edition }} uberjar to the context dir
run
:
mv bin/docker/target/uberjar/metabase.jar bin/docker/.
-
name
:
Set up Docker Buildx
id
:
buildx
uses
:
docker/setup-buildx-action@v2.5.0
with
:
driver-opts
:
network=host
-
name
:
Build ${{ matrix.edition }} container
uses
:
docker/build-push-action@v3
with
:
context
:
bin/docker/.
platforms
:
linux/amd64
network
:
host
tags
:
localhost:5000/metabase-dev:${{ env.image_name }}-${{ matrix.edition }}
no-cache
:
true
push
:
true
-
name
:
Launch ${{ matrix.edition }} container
run
:
docker run --rm -dp 3000:3000 localhost:5000/metabase-dev:${{ env.image_name }}-${{ matrix.edition }}
timeout-minutes
:
5
-
name
:
Is Docker running?
run
:
docker ps
-
name
:
Wait for Metabase to start and reach 100% health
run
:
while ! curl -s 'http://localhost:3000/api/health' | grep '{"status":"ok"}'; do sleep 1; done
timeout-minutes
:
3
-
name
:
Login to Docker Hub
uses
:
docker/login-action@v2
with
:
username
:
${{ secrets.DOCKERHUB_USERNAME }}
password
:
${{ secrets.DOCKERHUB_TOKEN }}
-
name
:
Retag and push images
run
:
docker tag localhost:5000/metabase-dev:${{ env.image_name }}-ee ${{ github.repository_owner }}/metabase-dev:${{ env.image_name }} && docker push ${{ github.repository_owner }}/metabase-dev:${{ env.image_name }}
-
name
:
Run Trivy vulnerability scanner
uses
:
aquasecurity/trivy-action@master
env
:
TRIVY_OFFLINE_SCAN
:
true
with
:
image-ref
:
docker.io/${{ github.repository_owner }}/metabase-dev:${{ env.image_name }}
format
:
sarif
output
:
trivy-results.sarif
-
name
:
Upload Trivy scan results to GitHub Security tab
uses
:
github/codeql-action/upload-sarif@v2
with
:
sarif_file
:
'
trivy-results.sarif'
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment