This repository has been archived by the owner on Mar 4, 2024. It is now read-only.
EVEREST-862 Add column hide state to local storage #1480
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 | |
on: | |
schedule: | |
- cron: '0 12 * * 0' | |
push: | |
branches: | |
- main | |
tags: | |
- v[0-9]+.[0-9]+.[0-9]+* | |
pull_request: | |
permissions: | |
contents: write | |
packages: write | |
checks: write | |
pull-requests: write | |
repository-projects: read | |
env: | |
NODE_OPTIONS: '—-max_old_space_size=4096' | |
jobs: | |
cache_pnpm: | |
name: Cache PNPM | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.ROBOT_TOKEN }} | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
- name: Use Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16.x | |
cache: 'pnpm' | |
cache-dependency-path: 'pnpm-lock.yaml' | |
- name: Install dependencies | |
run: make init | |
CI_checks: | |
runs-on: ubuntu-latest | |
needs: cache_pnpm | |
strategy: | |
matrix: | |
action: ['lint', 'format', 'test', 'build'] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.ROBOT_TOKEN }} | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
- name: Use Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16.x | |
cache: 'pnpm' | |
cache-dependency-path: 'pnpm-lock.yaml' | |
- run: make init | |
- name: lint | |
if: matrix.action == 'lint' | |
run: make lint | |
- name: format | |
if: matrix.action == 'format' | |
run: make format | |
- name: test | |
if: matrix.action == 'test' | |
run: make test | |
- name: build | |
if: matrix.action == 'build' | |
run: make build | |
- name: Check for changes | |
id: check_changes | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "CI Bot" | |
git diff --exit-code || echo "::set-output name=changes::true" | |
- uses: stefanzweifel/git-auto-commit-action@v5 | |
if: steps.check_changes.outputs.changes == 'true' && github.event_name == 'pull_request' | |
with: | |
commit_message: 'chore: lint/format' | |
token: ${{ secrets.ROBOT_TOKEN }} | |
E2E: | |
name: E2E Tests | |
needs: cache_pnpm | |
runs-on: ubuntu-20.04 | |
env: | |
GOPRIVATE: github.com/percona,github.com/percona/percona-everest-backend,github.com/percona/percona-everest-cli,github.com/percona/everest-operator | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
path: FE | |
token: ${{ secrets.ROBOT_TOKEN }} | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
- name: Use Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16.x | |
cache: 'pnpm' | |
cache-dependency-path: FE/pnpm-lock.yaml | |
- name: Set up Helm | |
uses: azure/setup-helm@v2 | |
with: | |
version: 'v3.0.0' | |
- name: Checkout CLI repo | |
uses: percona-platform/checkout@v3 | |
with: | |
repository: percona/percona-everest-cli | |
ref: 'main' | |
path: CLI | |
- name: Configure git for private modules | |
env: | |
ROBOT_TOKEN: ${{ secrets.ROBOT_TOKEN }} | |
run: git config --global url."https://percona-platform-robot:${ROBOT_TOKEN}@github.com".insteadOf "https://github.com" | |
- name: Set up Go release | |
uses: percona-platform/setup-go@v4 | |
with: | |
go-version: 1.20.x | |
- name: Set GO_VERSION environment variable | |
run: | | |
go version | |
echo "GO_VERSION=$(go version)" >> $GITHUB_ENV | |
- name: Create KIND cluster | |
uses: helm/[email protected] | |
- name: Add Helm Percona repository | |
run: | | |
helm repo add percona https://percona.github.io/percona-helm-charts/ | |
- name: Install Helm PMM chart | |
run: | | |
helm install pmm --set secret.pmm_password='admin',service.type=ClusterIP percona/pmm | |
- name: Echo PMM credentials | |
run: | | |
echo -n MONITORING_URL=$("http://" && kubectl get svc/monitoring-service -o json | jq -r '.spec.clusterIP') >> $GITHUB_ENV | |
- name: Run Provisioning | |
run: | | |
cd CLI | |
go run cmd/everest/main.go install \ | |
--operator.mongodb \ | |
--operator.postgresql \ | |
--operator.xtradb-cluster \ | |
--skip-wizard \ | |
--namespaces everest-ui | |
- name: Change token | |
run: | | |
cd CLI | |
echo "EVEREST_K8_TOKEN=$(go run cmd/everest/main.go token reset --json | jq .token -r)" >> $GITHUB_ENV | |
- name: Expose Everest backend | |
run: | | |
kubectl port-forward -n everest-system deployment/percona-everest 8080:8080 & | |
- name: Run Everest | |
run: | | |
cd FE | |
make init | |
pnpm --filter "@percona/everest" dev & | |
- name: Install Chromium for Playwright | |
run: | | |
cd FE/apps/everest | |
npx playwright install chromium | |
- name: Run integration tests | |
env: | |
EVEREST_LOCATION_BUCKET_NAME: '${{ secrets.EVEREST_LOCATION_BUCKET_NAME }}' | |
EVEREST_LOCATION_ACCESS_KEY: '${{ secrets.EVEREST_LOCATION_ACCESS_KEY }}' | |
EVEREST_LOCATION_SECRET_KEY: '${{ secrets.EVEREST_LOCATION_SECRET_KEY }}' | |
EVEREST_LOCATION_REGION: '${{ secrets.EVEREST_LOCATION_REGION }}' | |
EVEREST_LOCATION_URL: '${{ secrets.EVEREST_LOCATION_URL }}' | |
MONITORING_USER: 'admin' | |
MONITORING_PASSWORD: 'admin' | |
run: | | |
cd FE | |
pnpm --filter "@percona/everest" e2e | |
- name: Archive test results | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-results | |
path: FE/apps/everest/.e2e/test-results/ | |
- name: Archive report | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: playwright-report | |
path: FE/apps/everest/.e2e/playwright-report/ | |
- name: Run debug commands on failure | |
if: ${{ failure() }} | |
run: | | |
kubectl -n everest-system logs deployment/percona-everest |