Debug snapshot status. #862
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: Test Spec | |
on: | |
push: | |
paths: | |
- .github/workflows/test-spec.yml | |
- package*.json | |
- spec/** | |
- tests/** | |
- tools/src/tester/** | |
- tsconfig.json | |
pull_request: | |
paths: | |
- .github/workflows/test-spec.yml | |
- package*.json | |
- spec/** | |
- tests/** | |
- tools/src/tester/** | |
- tsconfig.json | |
jobs: | |
test-opensearch-spec: | |
strategy: | |
fail-fast: false | |
matrix: | |
entry: | |
# - version: 1.3.17 | |
# admin_password: admin | |
# - version: 2.0.0 | |
# admin_password: admin | |
# - version: 2.18.0 | |
# - version: 2.18.0 | |
# tests: plugins/index_state_management | |
# - version: 2.18.0 | |
# tests: plugins/ml | |
# - version: 2.18.0 | |
# tests: routing | |
- version: 2.18.0 | |
tests: snapshot | |
# - version: 2.18.0 | |
# tests: remote_store | |
# - version: 2.18.0 | |
# tests: dangling | |
# url: http://localhost:9200 | |
# - version: 2.18.0 | |
# tests: plugins/replication | |
# url: http://localhost:9200 | |
# - version: 2.18.0 | |
# tests: plugins/streaming | |
# - version: 2.18.0 | |
# tests: plugins/notifications | |
# - version: 2.18.0 | |
# tests: plugins/query_insights | |
# - version: 2.18.0 | |
# tests: plugins/workload-management | |
# - version: 2.18.0 | |
# tests: plugins/analysis | |
# - version: 2.18.0 | |
# tests: plugins/security | |
# cert: tests/plugins/security/.kirk.pem | |
# key: tests/plugins/security/.kirk-key.pem | |
# - version: 2.19.0 | |
# hub: opensearchstaging | |
# ref: '@sha256:4da23e0137b2b67206d23b36fcf0914cc39b3bf19310c782f536e4934b86f6cc' | |
# - version: 3.0.0 | |
# hub: opensearchstaging | |
# ref: '@sha256:727643acdfebed77bfdb26362dbcff536b7ea02a0cc4ae2da2521729171333de' | |
name: test-opensearch-spec (version=${{ matrix.entry.version }}, hub=${{ matrix.entry.hub || 'opensearchproject' }}, tests=${{ matrix.entry.tests || 'default' }}) | |
runs-on: ubuntu-latest | |
env: | |
OPENSEARCH_DOCKER_HUB_PROJECT: ${{ matrix.entry.hub || 'opensearchproject' }} | |
OPENSEARCH_DOCKER_REF: ${{ matrix.entry.ref }} | |
OPENSEARCH_VERSION: ${{ matrix.entry.version }} | |
OPENSEARCH_PASSWORD: ${{ matrix.entry.admin_password || 'myStrongPassword123!' }} | |
OPENSEARCH_JAVA_OPTS: ${{ matrix.entry.opts }} -Xms8g -Xmx8g | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "20" | |
- name: Install Dependencies | |
run: npm ci | |
- name: Run OpenSearch Cluster | |
working-directory: tests/${{ matrix.entry.tests || 'default' }} | |
run: docker compose up -d | |
- name: Generate Test Files Hash | |
id: tests | |
run: echo "hash=${{ matrix.entry.version }}-${{ hashFiles(format('tests/{0}', matrix.entry.tests || 'default')) }}" >> $GITHUB_OUTPUT | |
- name: Run Tests | |
run: | | |
npm run test:spec -- \ | |
--opensearch-insecure \ | |
--opensearch-version=${{ matrix.entry.version }} \ | |
--coverage coverage/test-spec-coverage-${{ steps.tests.outputs.hash }}.json \ | |
--opensearch-url=${{ matrix.entry.url || 'https://localhost:9200'}} \ | |
--opensearch-cert=${{ matrix.entry.cert }} \ | |
--opensearch-key=${{ matrix.entry.key }} \ | |
--tests=tests/${{ matrix.entry.tests || 'default' }} \ | |
--verbose | |
- name: Get Container Logs | |
if: failure() | |
run: | | |
for container_id in $(docker ps -aqf "ancestor=opensearchproject/opensearch:${{ matrix.entry.version }}"); do \ | |
echo Dumping logs from $container_id ... && \ | |
docker logs $container_id \ | |
; done | |
- name: Upload Test Coverage Results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-${{ matrix.entry.version }}-${{ steps.tests.outputs.hash }} | |
path: coverage/test-spec-coverage-${{ steps.tests.outputs.hash }}.json |