S3 dataset tests env #2
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: Run cypress tests (CI Group 10) | |
# trigger once approved | |
on: | |
pull_request: | |
branches: ['**'] | |
paths-ignore: | |
- '**/*.md' | |
- '.lycheeignore' | |
- 'changelogs/fragments/**' | |
workflow_dispatch: | |
inputs: | |
test_repo: | |
description: 'Cypress test repo' | |
default: 'opensearch-project/opensearch-dashboards-functional-test' | |
required: true | |
type: string | |
test_branch: | |
description: 'Cypress test branch (default: source branch)' | |
required: false | |
type: string | |
specs: | |
description: 'Tests to run (default: osd:ciGroup10)' | |
required: false | |
type: string | |
pr_number: | |
description: 'PR Number (optional)' | |
required: false | |
type: number | |
env: | |
TEST_REPO: ${{ inputs.test_repo != '' && inputs.test_repo || 'opensearch-project/opensearch-dashboards-functional-test' }} | |
TEST_BRANCH: "${{ inputs.test_branch != '' && inputs.test_branch || github.base_ref }}" | |
FTR_PATH: 'ftr' | |
CYPRESS_BROWSER: 'chromium' | |
CYPRESS_VISBUILDER_ENABLED: true | |
CYPRESS_DATASOURCE_MANAGEMENT_ENABLED: false | |
OSD_SNAPSHOT_SKIP_VERIFY_CHECKSUM: true | |
NODE_OPTIONS: '--max-old-space-size=6144 --dns-result-order=ipv4first' | |
LATEST_VERSION: '2.17.0' | |
jobs: | |
cypress-tests: | |
runs-on: ubuntu-latest | |
environment: flint-test | |
container: | |
image: docker://opensearchstaging/ci-runner:ci-runner-rockylinux8-opensearch-dashboards-integtest-v2 | |
options: --user 1001 | |
env: | |
START_CMD: 'node scripts/opensearch_dashboards --dev --no-base-path --no-watch --savedObjects.maxImportPayloadBytes=10485760 --server.maxPayloadBytes=1759977 --logging.json=false --data.search.aggs.shardDelay.enabled=true --csp.warnLegacyBrowsers=false --uiSettings.overrides["query:enhancements:enabled"]=true --uiSettings.overrides[''home:useNewHomePage'']=true --data_source.enabled=true --workspace.enabled=true --opensearch.ignoreVersionMismatch=true' | |
OPENSEARCH_SNAPSHOT_CMD: '/bin/bash -c "./opensearch-2.17.0/opensearch-tar-install.sh &"' | |
name: Run cypress tests (osd:ciGroup10) | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Setup Node | |
uses: actions/setup-node@v2 | |
with: | |
node-version-file: '.nvmrc' | |
registry-url: 'https://registry.npmjs.org' | |
- name: Setup Yarn | |
run: | | |
npm uninstall -g yarn | |
npm i -g [email protected] | |
- name: Run bootstrap | |
run: yarn osd bootstrap | |
- name: Build plugins | |
run: node scripts/build_opensearch_dashboards_platform_plugins --no-examples --workers 12 | |
- name: Checkout FT repo | |
uses: actions/checkout@v2 | |
with: | |
path: ${{ env.FTR_PATH }} | |
repository: ${{ env.TEST_REPO }} | |
ref: '${{ env.TEST_BRANCH }}' | |
- name: Setup spec files | |
if: ${{ inputs.specs == '' }} | |
shell: bash | |
run: | | |
DASHBOARDS_SPEC="$(yarn --silent osd:ciGroup10)" | |
echo "DASHBOARDS_SPEC=${DASHBOARDS_SPEC}" >> $GITHUB_ENV | |
echo "DASHBOARDS_SPEC=${DASHBOARDS_SPEC}" | |
- name: Download OpenSearch | |
uses: suisei-cn/[email protected] | |
with: | |
url: https://artifacts.opensearch.org/releases/bundle/opensearch/${{ env.LATEST_VERSION }}/opensearch-${{ env.LATEST_VERSION }}-linux-x64.tar.gz | |
- name: Extract OpenSearch | |
run: | | |
tar -xzf opensearch-*.tar.gz | |
rm -f opensearch-*.tar.gz | |
shell: bash | |
- name: Remove security plugin | |
run: | | |
/bin/bash -c "yes | ./opensearch-${{ env.LATEST_VERSION }}/bin/opensearch-plugin remove opensearch-security" | |
shell: bash | |
- name: Run OpenSearch | |
run: | | |
/bin/bash -c "./opensearch-2.17.0/opensearch-tar-install.sh &" | |
sleep 30 | |
shell: bash | |
- name: Clear Cypress Cache | |
run: npx cypress cache clear | |
- name: Run Dashboards Cypress tests with query enhancements | |
uses: cypress-io/github-action@v6 | |
env: | |
S3_CONNECTION_URL: ${{ secrets.S3_CONNECTION_URL }} | |
S3_CONNECTION_USERNAME: ${{ secrets.S3_CONNECTION_USERNAME }} | |
S3_CONNECTION_PASSWORD: ${{ secrets.S3_CONNECTION_PASSWORD }} | |
with: | |
install-command: npx cypress install --force | |
start: ${{ env.START_CMD }} | |
wait-on: 'http://localhost:9200, http://localhost:5601' | |
command: yarn cypress:run-without-security --browser ${{ env.CYPRESS_BROWSER }} --spec ${{ env.DASHBOARDS_SPEC }} | |
- name: Upload Dashboards screenshots | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: dashboards-cypress-screenshots-10 | |
path: cypress/screenshots | |
retention-days: 1 | |
- name: Upload Dashboards repo videos | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: dashboards-cypress-videos-10 | |
path: cypress/videos | |
retention-days: 1 | |
- name: Upload Dashboards repo results | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: dashboards-cypress-results-10 | |
path: cypress/results | |
retention-days: 1 |