Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add backwards compatibility tests for Windows and JDK11/17 #2233

Closed
wants to merge 10 commits into from
70 changes: 56 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,24 +84,66 @@ jobs:
-x spotbugsMain

backward-compatibility:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
jdk: [11, 17]
platform: ["ubuntu-latest", "windows-latest"]
runs-on: ${{ matrix.platform }}

steps:
- uses: actions/checkout@v2

- id: opensearch-versions
run: |
echo "::set-output name=version-current::3.0.0"
echo "::set-output name=version-previous::2.4.0"

- uses: actions/setup-java@v1
with:
java-version: 11
- run: ./gradlew clean build -Dbuild.snapshot=false -x test -x integrationTest
- run: |
echo "Running backwards compatibility tests ..."
security_plugin_version_no_snapshot=$(./gradlew properties -q | grep -E '^version:' | awk '{print $2}' | sed 's/-SNAPSHOT//g')
java-version: ${{ matrix.jdk }}

- name: Checkout security
uses: actions/checkout@v2

- name: Build
uses: gradle/gradle-build-action@v2
with:
arguments: |
build -Dbuild.snapshot=false
-x spotlessCheck
-x checkstyleMain
-x checkstyleTest
-x test
-x integrationTest

- name: Copy current distro into the expected folder
run: |
ls build/distributions/
cp -r build/ ./bwc-test/
mkdir ./bwc-test/src/test/resources/security_plugin_version_no_snapshot
cp build/distributions/opensearch-security-${security_plugin_version_no_snapshot}.zip ./bwc-test/src/test/resources/${security_plugin_version_no_snapshot}
mkdir bwc-test/src/test/resources/2.4.0.0
wget https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/2.4.0/latest/linux/x64/tar/builds/opensearch/plugins/opensearch-security-2.4.0.0.zip
mv opensearch-security-2.4.0.0.zip bwc-test/src/test/resources/2.4.0.0/
cd bwc-test/
./gradlew bwcTestSuite -Dtests.security.manager=false
mkdir ./bwc-test/src/test/resources/${{ steps.opensearch-versions.outputs.version-current }}.0
cp build/distributions/opensearch-security-${{ steps.opensearch-versions.outputs.version-current }}.0.zip ./bwc-test/src/test/resources/${{ steps.opensearch-versions.outputs.version-current }}.0
mkdir bwc-test/src/test/resources/${{ steps.opensearch-versions.outputs.version-previous }}.0

- id: download-platform
uses: haya14busa/action-cond@v1
with:
cond: ${{ runner.os == 'Windows' }}
if_true: 'windows/x64/zip'
if_false: 'linux/x64/tar'

- uses: peternied/download-file@v1
with:
url: https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/${{ steps.opensearch-versions.outputs.version-previous }}/latest/${{ steps.download-platform.outputs.value }}/builds/opensearch/plugins/opensearch-security-${{ steps.opensearch-versions.outputs.version-previous }}.0.zip

- name: Copy downloaded security version to bwc-test archives
run: mv opensearch-security-${{ steps.opensearch-versions.outputs.version-previous }}.0.zip bwc-test/src/test/resources/${{ steps.opensearch-versions.outputs.version-previous }}.0/

- name: Run BWC tests
uses: gradle/gradle-build-action@v2
with:
arguments: bwcTestSuite -Dtests.security.manager=false
build-root-directory: bwc-test

code-ql:
runs-on: ubuntu-latest
Expand Down