Skip to content

Add single line

Add single line #2886

Workflow file for this run

name: CI
on:
push:
pull_request:
env:
python-version: '3.11'
java-version: '11'
gradle-version: '8.0.2'
node-version: '18.x'
jobs:
# style-check:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-java@v4
# with:
# java-version: ${{ env.java-version }}
# distribution: "corretto"
# - uses: gradle/actions/setup-gradle@v4
# with:
# gradle-version: ${{ env.gradle-version }}
# - name: Run Gradle Build
# run: ./gradlew spotlessCheck
# env:
# OS_MIGRATIONS_GRADLE_SCAN_TOS_AGREE_AND_ENABLED: ''
#
# python-lint:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-python@v5
# with:
# python-version: ${{ env.python-version }}
# - name: Install dependencies
# run: |
# python3 -m pip install --upgrade pip
# python3 -m pip install flake8
# - name: Analysing the code with flake8
# run: |
# flake8 $(git ls-files '*.py')
console-python-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
py-project:
- lib/console_link
- cluster_tools
- console_api
env:
WORKING_DIR: ./TrafficCapture/dockerSolution/src/main/docker/migrationConsole/${{ matrix.py-project }}
defaults:
run:
working-directory: ${{ env.WORKING_DIR }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.python-version }}
- run: |
python3 -m pip install --upgrade pipenv
pipenv install --deploy --dev
pipenv run test
pipenv run coverage xml
- name: Get Sanitized Name
env:
PY_PROJECT: ${{ matrix.py-project }}
run: echo "SANITIZED_PY_PROJECT=${PY_PROJECT/\//-}" >> $GITHUB_ENV
- name: Upload Coverage Reports
uses: actions/upload-artifact@v4
with:
if-no-files-found: error
name: coverage-reports-python-tests-${{ env.SANITIZED_PY_PROJECT }}
path: ${{ env.WORKING_DIR }}/coverage.xml
# gradle-tests:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-java@v4
# with:
# java-version: ${{ env.java-version }}
# distribution: 'corretto'
# - uses: gradle/actions/setup-gradle@v4
# with:
# gradle-version: ${{ env.gradle-version }}
# gradle-home-cache-cleanup: true
# - name: Run Gradle Build
# run: ./gradlew build -x test -x TrafficCapture:dockerSolution:build -x spotlessCheck --stacktrace
# env:
# OS_MIGRATIONS_GRADLE_SCAN_TOS_AGREE_AND_ENABLED: ''
#
# - name: Run Tests with Coverage
# run: ./gradlew mergeJacocoReports -x TrafficCapture:dockerSolution:build -x spotlessCheck --stacktrace
# env:
# OS_MIGRATIONS_GRADLE_SCAN_TOS_AGREE_AND_ENABLED: ''
#
# - uses: actions/upload-artifact@v4
# if: always()
# with:
# name: test-reports-gradle-tests
# path: |
# **/build/reports/tests/
# **/reports/jacoco/mergedReport/
# - name: Upload Coverage Reports
# uses: actions/upload-artifact@v4
# with:
# if-no-files-found: error
# name: coverage-reports-gradle-tests
# path: /**/jacocoMergedReport.xml
# python-e2e-tests:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-java@v4
# with:
# java-version: ${{ env.java-version }}
# distribution: 'corretto'
# - uses: gradle/actions/setup-gradle@v4
# with:
# gradle-version: ${{ env.gradle-version }}
# - uses: actions/setup-python@v5
# with:
# python-version: ${{ env.python-version }}
# - name: Generate Cache Key from Dockerfiles
# id: generate_cache_key
# run: |
# files=$(find . -type f \( -name 'docker-compose.yml' -o -name 'Dockerfile' \))
# file_contents=$(cat $files)
# key=$(echo "${file_contents}" | sha1sum | awk '{print $1}')
# echo "key=${key}" >> "$GITHUB_OUTPUT"
# - name: Cache Docker Images
# uses: ScribeMD/[email protected]
# with:
# key: docker-${{ runner.os }}-${{ steps.generate_cache_key.outputs.key }}
# - name: Start Docker Solution
# run: ./gradlew -p TrafficCapture dockerSolution:ComposeUp -x test -x spotlessCheck --info --stacktrace
# env:
# OS_MIGRATIONS_GRADLE_SCAN_TOS_AGREE_AND_ENABLED: ''
# - name: Run E2E test script
# working-directory: TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/integ_test
# run: |
# docker exec $(docker ps --filter "name=migration-console" -q) pipenv run pytest /root/lib/integ_test/integ_test/replayer_tests.py --unique_id="testindex" -s
# - name: Collect Docker, OpenSearch Benchmark, and Shared Logs
# if: always()
# run: |
# mkdir -p logs/docker logs/opensearch_benchmark_logs logs/shared_logs_output
# for container in $(docker ps -aq); do
# container_name=$(docker inspect --format '{{.Name}}' $container | sed 's/\///')
# docker logs $container > logs/docker/${container_name}_logs.txt 2>&1
# done
# docker cp $(docker ps --filter "name=migration-console" -q):/root/.benchmark/logs logs/opensearch_benchmark_logs
# docker cp $(docker ps --filter "name=migration-console" -q):/shared-logs-output logs/shared_logs_output
# - name: Upload Logs
# if: always()
# uses: actions/upload-artifact@v4
# with:
# name: e2e-test-logs
# path: |
# logs/docker
# logs/opensearch_benchmark_logs
# logs/shared_logs_output
# - name: Clean up migrations docker images before caching
# run: |
# docker stop $(docker ps -q) && docker system prune --volumes -f
# docker image ls --format '{{.Repository}}:{{.Tag}}' | grep '^migrations/' | xargs -I {} docker image rm {}
# node-tests:
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# matrix:
# npm-project:
# - ./deployment/cdk/opensearch-service-migration
# - ./deployment/migration-assistant-solution
# defaults:
# run:
# working-directory: ${{ matrix.npm-project }}
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v4
# with:
# node-version: ${{ env.node-version }}
# - name: Install NPM dependencies
# run: npm ci
# - name: Run CDK Jest Tests (using mocked images)
# run: npm run test
#
# link-checker:
# runs-on: ubuntu-latest
#
# steps:
# - uses: actions/checkout@v4
# - name: lychee Link Checker
# id: lychee
# uses: lycheeverse/lychee-action@v1
# with:
# args: --verbose --accept=200,403,429 "**/*.html" "**/*.md" "**/*.txt" "**/*.json"
# --offline
# --exclude "file:///github/workspace/*"
# --exclude "http://localhost*"
# --exclude "https://localhost*"
# --exclude "http://capture-proxy*"
# --exclude "https://capture-proxy*"
# --exclude-mail
# fail: true
# env:
# GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
# upload-codecov:
# needs:
# - console-python-tests
## - gradle-tests
# if: success()
# runs-on: ubuntu-latest
# steps:
# - name: Download Coverage Artifacts
# uses: actions/download-artifact@v4
# with:
# pattern: coverage-reports-*
# path: ./coverage-reports
# - name: Upload Coverage
# uses: codecov/codecov-action@v4
# with:
# fail_ci_if_error: true
# files: ./coverage-reports/**/*.*
# flags: unittests
## token: ${{ secrets.CODECOV_TOKEN }}
# verbose: true
# all-ci-checks-pass:
# needs:
# - console-python-tests
# - gradle-tests
# - link-checker
# - node-tests
# - python-e2e-tests
# - python-lint
# - style-check
# if: always()
# runs-on: ubuntu-latest
# steps:
# - if: ${{ contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure') || contains(needs.*.result, 'skipped') }}
# run: |
# echo "One or more job cancelled, failed, or skipped" && exit 1
# - run: |
# echo '## :heavy_check_mark: All continous integration checks pass' >> $GITHUB_STEP_SUMMARY