chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 #4238
Workflow file for this run
This file contains hidden or 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: Integration for Compatibility | |
| on: [push, pull_request] | |
| env: | |
| CONTAINER_PROVIDER: docker | |
| CONTAINER_RUNTIME: docker | |
| jobs: | |
| integ-test-compat: | |
| runs-on: ubuntu-latest | |
| # Tolerate failures on 2.18.0 and below (flaky legacy targets); 1.3.20 and | |
| # 2.19.6+ remain hard gates. | |
| continue-on-error: ${{ matrix.entry.continue_on_error || false }} | |
| strategy: | |
| fail-fast: false | |
| # OpenSearch <=2.17.x carries a node-join/node-left race condition | |
| # (fixed in 2.18 via opensearch-project/OpenSearch#15521, backported | |
| # via opensearch-project/OpenSearch#16118) that leaves a node in | |
| # cluster state but disconnected at the transport layer, breaking | |
| # NodesStats RPC fan-out indefinitely and hanging /_cat/nodes-based | |
| # readiness gates. Single-node clusters cannot hit the race, so | |
| # affected versions run with OPENSEARCH_NODE_COUNT=1 below. | |
| matrix: | |
| secured: ["true", "false"] | |
| entry: | |
| - { opensearch_version: 1.3.20, node_count: 1 } | |
| - { opensearch_version: 2.0.1, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.1.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.2.1, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.3.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.4.1, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.5.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.6.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.7.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.8.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.9.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.10.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.11.1, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.12.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.13.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.14.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.15.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.16.0, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.17.1, node_count: 1, continue_on_error: true } | |
| - { opensearch_version: 2.18.0, node_count: 3, continue_on_error: true } | |
| - { opensearch_version: 2.19.6, node_count: 3 } | |
| - { opensearch_version: 3.0.0, node_count: 3 } | |
| - { opensearch_version: 3.1.0, node_count: 3 } | |
| - { opensearch_version: 3.2.0, node_count: 3 } | |
| - { opensearch_version: 3.3.2, node_count: 3 } | |
| - { opensearch_version: 3.4.0, node_count: 3 } | |
| - { opensearch_version: 3.5.0, node_count: 3 } | |
| - { opensearch_version: 3.6.0, node_count: 3 } | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6 | |
| - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: { go-version-file: 'go.mod' } | |
| - run: go version | |
| - name: Increase system limits | |
| run: | | |
| sudo swapoff -a | |
| sudo sysctl -w vm.swappiness=1 | |
| sudo sysctl -w fs.file-max=262144 | |
| sudo sysctl -w vm.max_map_count=262144 | |
| - name: Launch OpenSearch cluster | |
| run: | | |
| export OPENSEARCH_VERSION=${{ matrix.entry.opensearch_version }} | |
| export SECURE_INTEGRATION=${{ matrix.secured }} | |
| export OPENSEARCH_NODE_COUNT=${{ matrix.entry.node_count }} | |
| make cluster.clean cluster.build cluster.start | |
| if [ "${SECURE_INTEGRATION}" = "true" ]; then | |
| CURL_URL="https://localhost:9200" | |
| # Password changed in OpenSearch 2.12.0 | |
| function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; } | |
| if [ $(version ${OPENSEARCH_VERSION}) -ge $(version "2.12.0") ]; then | |
| CURL_OPTS="-sfku admin:myStrongPassword123!" | |
| else | |
| CURL_OPTS="-sfku admin:admin" | |
| fi | |
| else | |
| CURL_URL="http://localhost:9200" | |
| CURL_OPTS="-sf" | |
| fi | |
| echo "=====> Waiting for OpenSearch ${OPENSEARCH_VERSION} (secure=${SECURE_INTEGRATION}) to be ready (max 125s)..." | |
| for attempt in $(seq 25); do | |
| sleep 5 | |
| if curl ${CURL_OPTS} ${CURL_URL} > /dev/null 2>&1; then | |
| echo "=====> Cluster ready after $((attempt * 5))s" | |
| curl -s ${CURL_OPTS} ${CURL_URL} | jq -r '.version.number // "unknown"' | xargs echo "OpenSearch version:" | |
| break | |
| fi | |
| if [ $attempt -eq 25 ]; then | |
| echo "=====> ERROR: Cluster failed to start after 125s" | |
| echo "" | |
| echo "=====> Container status:" | |
| docker compose --project-directory .ci/opensearch ps | |
| echo "" | |
| echo "=====> Node 1 logs (last 50 lines):" | |
| docker compose --project-directory .ci/opensearch logs --tail=50 opensearch-node1 | |
| echo "" | |
| echo "=====> Node 2 logs (last 50 lines):" | |
| docker compose --project-directory .ci/opensearch logs --tail=50 opensearch-node2 | |
| echo "" | |
| echo "=====> Node 3 logs (last 50 lines):" | |
| docker compose --project-directory .ci/opensearch logs --tail=50 opensearch-node3 | |
| exit 1 | |
| fi | |
| echo "=====> Attempt $attempt/25 - waiting..." | |
| done | |
| - name: Integration test | |
| run: | | |
| export OPENSEARCH_VERSION=${{ matrix.entry.opensearch_version }} | |
| export SECURE_INTEGRATION=${{ matrix.secured }} | |
| export OPENSEARCH_NODE_COUNT=${{ matrix.entry.node_count }} | |
| make cluster.get-cert test-integ-core test-integ-plugins race=true | |
| - name: Stop the OpenSearch cluster | |
| run: | | |
| make cluster.stop |