Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
d60cddd
chore(eui): remove .loki folder
weronikaolejniczak Apr 13, 2026
896e977
chore(eui): replace loki.ts with vrt.ts
weronikaolejniczak Apr 13, 2026
a20798a
chore(eui): remove loki.config.js
weronikaolejniczak Apr 13, 2026
2716b3d
chore(eui): replace loki parameters with generic vrt
weronikaolejniczak Apr 13, 2026
8d0bcc9
chore(eui): setup Playwright Storybook test runner
weronikaolejniczak Apr 13, 2026
2cb1935
chore(eui): remove types.d.ts for Loki
weronikaolejniczak Apr 13, 2026
06a9810
chore(eui): add .gitignore for current and diff
weronikaolejniczak Apr 13, 2026
c95b032
chore(eui): add reduceMotion preVisit
weronikaolejniczak Apr 13, 2026
21b5567
chore(eui): fix portalled components vrt
weronikaolejniczak Apr 15, 2026
53e8992
chore(eui): set nested provider to warn when using webdriver
weronikaolejniczak Apr 15, 2026
e42ed13
chore(eui): setup VRT in CI
weronikaolejniczak Apr 15, 2026
f0d5daa
chore(eui): fix data grid VRT timing out
weronikaolejniczak Apr 15, 2026
39ce2a2
temp
weronikaolejniczak Apr 15, 2026
e47480a
chore(eui): add current VRT to artifacts
weronikaolejniczak Apr 17, 2026
a912af0
chore(eui): update CI to regenerate snapshots
weronikaolejniczak Apr 17, 2026
dac8a7d
chore(eui): inject block dynamically
weronikaolejniczak Apr 17, 2026
562d700
chore(eui): run in Docker
weronikaolejniczak Apr 17, 2026
55ae814
chore(eui): check if snapshot exists
weronikaolejniczak Apr 17, 2026
2f0e229
chore(eui): fix VRT passed flag
weronikaolejniczak Apr 17, 2026
6f1c95b
chore(eui): remove commit sign
weronikaolejniczak Apr 17, 2026
63e3b40
chore(eui): fix push to PR
weronikaolejniczak Apr 24, 2026
35c9fc9
chore(eui): debug GitHub auth in VRT pipeline
weronikaolejniczak Apr 24, 2026
6e12bc0
chore: add baseline snapshots
weronikaolejniczak Apr 28, 2026
04899bb
chore: fix running docker locally
weronikaolejniczak Apr 28, 2026
164a744
chore: add yarn supported env
weronikaolejniczak Apr 28, 2026
2bd5f0b
chore: add baseline snapshots... again
weronikaolejniczak Apr 28, 2026
003f330
chore: add platform to docker command
weronikaolejniczak Apr 28, 2026
0ce8b93
chore: fix the PR comment
weronikaolejniczak Apr 28, 2026
ac0df3c
chore: update CI as per discussion
weronikaolejniczak Apr 28, 2026
f63a25f
chore: remove redundant return type
weronikaolejniczak Apr 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .buildkite/pipelines/deploy_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ agents:
preemptible: false

steps:
- label: ':docusaurus: Build and deploy documentation website'
- label: ':pipeline: Documentation website, Storybook and VRT'
timeout_in_minutes: 90
command: .buildkite/scripts/pipelines/pipeline_deploy_new_docs.sh
11 changes: 11 additions & 0 deletions .buildkite/scripts/common/utils.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
#!/bin/bash

# Push HEAD to the PR source branch. Requires `GH_TOKEN` to be exported.
function git_push_to_pr_branch {
local branch="${BUILDKITE_BRANCH##*:}"
# Normalize to HTTPS in case `BUILDKITE_PULL_REQUEST_REPO` is an SSH URL
local pr_repo_url="${BUILDKITE_PULL_REQUEST_REPO}"
pr_repo_url="${pr_repo_url/git@github.com:/https://github.com/}"
git remote add pr-origin "${pr_repo_url}" 2>/dev/null \
|| git remote set-url pr-origin "${pr_repo_url}"
git push pr-origin "HEAD:${branch}"
}

function retry {
local retries=$1
shift
Expand Down
4 changes: 0 additions & 4 deletions .buildkite/scripts/lifecycle/pre_command.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,12 @@ echo '[SOURCE]: Buildkite dependencies'
source .buildkite/scripts/common/utils.sh

echo '[INSTALL]: Non-exported variables'
GITHUB_ACCOUNT=secret/ci/elastic-eui/github_machine_user
VAULT_ACCOUNT=secret/ci/elastic-eui/bekitzur-kibana-service-account

echo '[INSTALL]: Exported variables'
GCE_ACCOUNT=$(retry 5 vault read -field=value $VAULT_ACCOUNT)
export GCE_ACCOUNT

GITHUB_TOKEN=$(retry 5 vault read -field=kibanamachine_token $GITHUB_ACCOUNT)
export GITHUB_TOKEN

DOCKER_BASE_IMAGE=docker.elastic.co/eui/ci:6.6
export DOCKER_BASE_IMAGE

Expand Down
68 changes: 68 additions & 0 deletions .buildkite/scripts/pipelines/pipeline_build_storybook.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#!/bin/bash
# Build and deploy Storybook to GCS.

set -eo pipefail

source ~/.bash_profile
source .buildkite/scripts/common/utils.sh

corepack enable
echo "Node.js version: $(node -v)"
echo "Yarn version: $(yarn -v)"

############################################################
# Configuration #
############################################################

bucket_directory="$(buildkite-agent meta-data get bucket_directory)"
copy_to_root_directory="$(buildkite-agent meta-data get copy_to_root_directory)"
GCLOUD_BUCKET_FULL="$(buildkite-agent meta-data get gcloud_bucket_full)"

# Embed the correct base URL into the Storybook bundle at build time
export STORYBOOK_BASE_URL="$(buildkite-agent meta-data get storybook_base_url)"

GCLOUD_CP_ARGS=(
--cache-control="public, max-age=1800, must-revalidate"
--recursive
--predefined-acl="publicRead"
--gzip-local="js,css,html,svg,png,jpg,ico"
)

############################################################
# Authenticate with GCS #
############################################################

gcloud auth activate-service-account --key-file <(echo "${GCE_ACCOUNT}")
unset GCE_ACCOUNT

############################################################
# Install dependencies #
############################################################

echo "+++ Installing dependencies"
yarn

############################################################
# Build Storybook #
############################################################

echo "+++ Building Storybook and @elastic/eui local dependencies"
yarn workspace @elastic/eui build:workspaces
yarn workspace @elastic/eui build-storybook

############################################################
# Deploy Storybook #
############################################################

echo "+++ Copying built Storybook to the bucket"

storybook_target_dir="${bucket_directory}storybook/"
echo "Beginning to copy Storybook to /${storybook_target_dir}"
gcloud storage cp "${GCLOUD_CP_ARGS[@]}" packages/eui/storybook-static/* "gs://${GCLOUD_BUCKET_FULL}/${storybook_target_dir}"
echo "Successfully copied Storybook to /${storybook_target_dir}"

if [[ "${copy_to_root_directory}" == "true" ]]; then
echo "Also copying Storybook to /storybook/"
gcloud storage cp "${GCLOUD_CP_ARGS[@]}" packages/eui/storybook-static/* "gs://${GCLOUD_BUCKET_FULL}/storybook/"
echo "Successfully copied Storybook to /storybook/"
fi
79 changes: 79 additions & 0 deletions .buildkite/scripts/pipelines/pipeline_build_website.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#!/bin/bash
# Build and deploy the documentation website to GCS.

set -eo pipefail

source ~/.bash_profile
source .buildkite/scripts/common/utils.sh

corepack enable
echo "Node.js version: $(node -v)"
echo "Yarn version: $(yarn -v)"

############################################################
# Configuration #
############################################################

bucket_directory="$(buildkite-agent meta-data get bucket_directory)"
copy_to_root_directory="$(buildkite-agent meta-data get copy_to_root_directory)"
GCLOUD_BUCKET_FULL="$(buildkite-agent meta-data get gcloud_bucket_full)"

GCLOUD_CP_ARGS=(
--cache-control="public, max-age=1800, must-revalidate"
--recursive
--predefined-acl="publicRead"
--gzip-local="js,css,html,svg,png,jpg,ico"
)

# GTM identifier (only needed for the website build)
analytics_vault="secret/ci/elastic-eui/analytics"
export DOCS_GOOGLE_TAG_MANAGER_ID="$(retry 5 vault read -field=google_tag_manager_id "${analytics_vault}")"

############################################################
# Authenticate with GCS #
############################################################

gcloud auth activate-service-account --key-file <(echo "${GCE_ACCOUNT}")
unset GCE_ACCOUNT

############################################################
# Install dependencies #
############################################################

echo "+++ Installing dependencies"
yarn

############################################################
# Build website #
############################################################

echo "+++ Building @elastic/eui-website and its local dependencies"
yarn workspace @elastic/eui-website build:workspaces

echo "Building the website with /${bucket_directory} base path configuration"
export DOCS_BASE_URL="/${bucket_directory}"
yarn workspace @elastic/eui-website build
mv packages/website/build packages/website/build-default

if [[ "${copy_to_root_directory}" == "true" ]]; then
echo "Building the website with / base path configuration"
export DOCS_BASE_URL="/"
yarn workspace @elastic/eui-website build
mv packages/website/build packages/website/build-root
fi

############################################################
# Deploy website #
############################################################

echo "+++ Copying built website to the bucket"

echo "Beginning to copy built docs to /${bucket_directory}"
gcloud storage cp "${GCLOUD_CP_ARGS[@]}" packages/website/build-default/* "gs://${GCLOUD_BUCKET_FULL}/${bucket_directory}"
echo "Successfully copied docs to /${bucket_directory}"

if [[ "${copy_to_root_directory}" == "true" ]]; then
echo "Beginning to copy built docs to /"
gcloud storage cp "${GCLOUD_CP_ARGS[@]}" packages/website/build-root/* "gs://${GCLOUD_BUCKET_FULL}/"
echo "Successfully copied docs to /"
fi
Loading