feat(UIFactory): introduce renderCustomPreloaderError method which allows to render custom error page #2030
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "[ci]: E2E" | |
on: | |
pull_request: | |
jobs: | |
start-vm: | |
name: Start VM | |
runs-on: ubuntu-latest | |
outputs: | |
label: ${{ steps.start-yc-runner.outputs.label }} | |
instance-id: ${{ steps.start-yc-runner.outputs.instance-id }} | |
steps: | |
- name: Start YC runner | |
id: start-yc-runner | |
uses: yc-actions/yc-github-runner@v1 | |
with: | |
mode: start | |
yc-sa-json-credentials: ${{ secrets.YC_SA_JSON_CREDENTIALS }} | |
github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} | |
folder-id: b1gcvl619mdunf1cqqbv | |
image-id: fd8q5h7f9c5lpd474h12 | |
zone-id: "ru-central1-b" | |
subnet-id: e2lno1rkqo63l729dlo7 | |
cores: 4 | |
memory: 16GB | |
core-fraction: 100 | |
disk-type: network-ssd-nonreplicated | |
disk-size: 93GB | |
public-ip: false | |
e2e-build: | |
name: Build docker image | |
runs-on: ${{ needs.start-vm.outputs.label }} | |
needs: start-vm | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Build UI | |
run: | | |
pwd | |
cd packages/ui | |
npm run docker:build --dockertag=local | |
IMAGE_NAME=$(npm run -s show:docker-image-name) | |
STABLE_IMAGE_NAME=$(echo $IMAGE_NAME | sed s/-nightly$//g) | |
docker tag $IMAGE_NAME:local $STABLE_IMAGE_NAME:local | |
e2e-local: | |
name: E2E for 'Local' | |
runs-on: ${{ needs.start-vm.outputs.label }} | |
needs: | |
- start-vm | |
- e2e-build | |
steps: | |
- name: Run containers for 'Local' | |
run: | | |
pwd | |
curl https://raw.githubusercontent.com/ytsaurus/ytsaurus/85b79ee968a7d36258daa705929404ac4bfdc0c4/yt/docker/local/run_local_cluster.sh > run_local_cluster.sh | |
chmod u+x run_local_cluster.sh | |
./run_local_cluster.sh --node-count 2 --ui-skip-pull true --ui-version local --yt-version stable --ui-app-installation e2e | |
sleep 10 | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Setup Node | |
uses: actions/setup-node@v2 | |
with: | |
node-version: "18.x" | |
cache: "npm" | |
- name: npm ci | |
run: | | |
cd packages/ui/tests | |
npm ci | |
- name: Install browsers | |
run: | | |
cd packages/ui/tests | |
npx playwright install chromium | |
- name: Init YT local | |
run: | | |
cd packages/ui | |
YT_PROXY=`hostname`:8000 npm run e2e:localmode:init | |
- name: E2E for 'Local' | |
run: | | |
cd packages/ui | |
npm run e2e:localmode:ui | |
- name: Upload local test-results | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: local_test-results | |
path: packages/ui/tests/test-results/ | |
retention-days: 7 | |
e2e-local-as-remote: | |
name: E2E for 'Local as remote' | |
runs-on: ${{ needs.start-vm.outputs.label }} | |
needs: | |
- start-vm | |
- e2e-build | |
- e2e-local | |
steps: | |
- name: Run containers for 'Local as remote' | |
run: | | |
pwd | |
curl https://raw.githubusercontent.com/ytsaurus/ytsaurus/85b79ee968a7d36258daa705929404ac4bfdc0c4/yt/docker/local/run_local_cluster.sh > run_local_cluster.sh | |
chmod u+x run_local_cluster.sh | |
./run_local_cluster.sh --stop | |
./run_local_cluster.sh --node-count 2 --ui-skip-pull true --ui-version local --yt-version stable --ui-app-installation e2e --docker-hostname `hostname` --fqdn localhost --ui-network bridge | |
sleep 10 | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Setup Node | |
uses: actions/setup-node@v2 | |
with: | |
node-version: "18.x" | |
cache: "npm" | |
- name: npm ci | |
run: | | |
cd packages/ui/tests | |
npm ci | |
- name: Tests for 'Local as remote' | |
run: | | |
cd packages/ui | |
YT_PROXY=`hostname`:8000 npm run e2e:localmode:init | |
npm run e2e:localmode:remote | |
- name: Upload local test-results | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: remote_test-results | |
path: packages/ui/tests/test-results/ | |
retention-days: 7 | |
e2e-screenshots: | |
name: E2E-screenshots for 'Local' | |
runs-on: ${{ needs.start-vm.outputs.label }} | |
needs: | |
- start-vm | |
- e2e-build | |
- e2e-local | |
- e2e-local-as-remote | |
steps: | |
- name: Run containers for 'Local' | |
run: | | |
pwd | |
curl https://raw.githubusercontent.com/ytsaurus/ytsaurus/85b79ee968a7d36258daa705929404ac4bfdc0c4/yt/docker/local/run_local_cluster.sh > run_local_cluster.sh | |
chmod u+x run_local_cluster.sh | |
./run_local_cluster.sh --stop | |
./run_local_cluster.sh --node-count 2 --ui-skip-pull true --ui-version local --yt-version stable --ui-app-installation e2e | |
sleep 10 | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Setup Node | |
uses: actions/setup-node@v2 | |
with: | |
node-version: "18.x" | |
cache: "npm" | |
- name: npm ci | |
run: | | |
cd packages/ui/tests | |
npm ci | |
- name: Install browsers | |
run: | | |
cd packages/ui/tests | |
npx playwright install chromium | |
- name: Init YT local | |
run: | | |
cd packages/ui | |
YT_PROXY=`hostname`:8000 npm run e2e:localmode:init | |
- name: Screenshot tests for 'Local' | |
run: | | |
cd packages/ui | |
npm run e2e:localmode:screenshots | |
- name: Upload local test-results | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: screenshots_test-results | |
path: packages/ui/tests/test-results/ | |
retention-days: 7 | |
stop-vm: | |
name: Stop VM | |
needs: | |
- start-vm | |
- e2e-screenshots | |
runs-on: ubuntu-latest | |
if: ${{ always() }} | |
steps: | |
- name: Stop YC runner | |
uses: yc-actions/yc-github-runner@v1 | |
with: | |
mode: stop | |
yc-sa-json-credentials: ${{ secrets.YC_SA_JSON_CREDENTIALS }} | |
github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} | |
label: ${{ needs.start-vm.outputs.label }} | |
instance-id: ${{ needs.start-vm.outputs.instance-id }} |