feat(TabletErrors): add TabletErrors for bundles and dyn-tables [YTFRONT-4119] #2123
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 | |
run-local-cluster-sh: | |
name: Install run_local_cluster.sh | |
runs-on: ${{ needs.start-vm.outputs.label }} | |
needs: | |
- start-vm | |
- e2e-build | |
steps: | |
- name: install | |
run: | | |
curl https://raw.githubusercontent.com/ytsaurus/ytsaurus/main/yt/docker/local/run_local_cluster.sh > run_local_cluster.sh | |
chmod a+x run_local_cluster.sh | |
install run_local_cluster.sh /usr/local/bin | |
e2e-local: | |
name: E2E for 'Local' | |
runs-on: ${{ needs.start-vm.outputs.label }} | |
needs: | |
- start-vm | |
- e2e-build | |
- run-local-cluster-sh | |
steps: | |
- name: Run containers for 'Local' | |
run: | | |
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 | |
- run-local-cluster-sh | |
steps: | |
- name: Run containers for 'Local as remote' | |
run: | | |
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 | |
- run-local-cluster-sh | |
steps: | |
- name: Run containers for 'Local' | |
run: | | |
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 }} |