Skip to content

feat(Queries): default ACO [#436] #2064

feat(Queries): default ACO [#436]

feat(Queries): default ACO [#436] #2064

Workflow file for this run

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 }}