[#638] Updated server version for RU tests. #1295
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: Test | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - 15.0 | |
| - 15.2 | |
| pull_request: | |
| branches: | |
| - main | |
| - 15.0 | |
| - 15.2 | |
| jobs: | |
| test: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: actions/setup-node@v3 | |
| with: | |
| node-version: 24.11.0 | |
| cache: 'npm' | |
| - name: Install | |
| run: npm ci | |
| - name: Unit Test | |
| run: npm test | |
| - name: Build Distribution | |
| run: npm run build | |
| # It's not possible to use GH action services, as we need to mount custom configuration from checked out source to the server | |
| - if: github.base_ref == 'main' || github.ref_name == 'main' | |
| name: Start 2 Cross-site Infinispan Servers Latest Version, Local server and Server with diff version | |
| shell: bash | |
| run: | | |
| docker run -d -p 11222:11222 -v ${{ github.workspace }}/scripts/identities.batch:/user-config/identities.batch -v ${{ github.workspace }}/dist:/opt/infinispan/static/console -v ${{ github.workspace }}/scripts/e2eTestsConfigLON.xml:/user-config/e2eTestsConfigLON.xml -e JAVA_OPTS="-Xms1024m -Xmx3072m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=2048m -Dinfinispan.site.name=LON -Djgroups.version.check=false -Djgroups.mcast_port=46656" -e IDENTITIES_BATCH="/user-config/identities.batch" quay.io/infinispan-test/server:main --node-name=infinispan-4-lon-e2e -c "infinispan-xsite.xml" -c "/user-config/e2eTestsConfigLON.xml" | |
| docker run -d -p 31222:11222 -v ${{ github.workspace }}/scripts/identities.batch:/user-config/identities.batch -v ${{ github.workspace }}/dist:/opt/infinispan/static/console -v ${{ github.workspace }}/scripts/e2eTestsConfigNYC.xml:/user-config/e2eTestsConfigNYC.xml -e JAVA_OPTS="-Xms1024m -Xmx3072m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=2048m -Dinfinispan.site.name=NYC -Dinfinispan.site.max_relay_nodes=2 -Djgroups.version.check=false -Djgroups.mcast_port=46666" -e IDENTITIES_BATCH="/user-config/identities.batch" quay.io/infinispan-test/server:main --node-name=infinispan-4-nyc-e2e -c "infinispan-xsite.xml" -c "/user-config/e2eTestsConfigNYC.xml" | |
| docker run -d -p 41222:11222 -v ${{ github.workspace }}/scripts/identities.batch:/user-config/identities.batch -v ${{ github.workspace }}/dist:/opt/infinispan/static/console -v ${{ github.workspace }}/scripts/infinispan-local.xml:/user-config/infinispan-local.xml -e JAVA_OPTS="-Xms1024m -Xmx3072m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=2048m" -e IDENTITIES_BATCH="/user-config/identities.batch" quay.io/infinispan-test/server:main --node-name=infinispan-4-local-e2e -c "/user-config/infinispan-local.xml" | |
| docker run --name ispn-nyc-1 -d -p 51222:11222 -v ${{ github.workspace }}/scripts/identities.batch:/user-config/identities.batch -v ${{ github.workspace }}/dist:/opt/infinispan/static/console -v ${{ github.workspace }}/scripts/e2eTestsConfigNYC.xml:/user-config/e2eTestsConfigNYC.xml -e JAVA_OPTS="-Xms1024m -Xmx3072m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=2048m -Dinfinispan.site.name=NYC -Dinfinispan.site.max_relay_nodes=2 -Djgroups.version.check=false -Djgroups.mcast_port=46666" -e IDENTITIES_BATCH="/user-config/identities.batch" quay.io/infinispan/server:16.0.0.dev07 --node-name=infinispan-4-nyc-1-e2e -c infinispan-xsite.xml -c "/user-config/e2eTestsConfigNYC.xml" | |
| # Wait for server to startup | |
| curl --fail --silent --show-error --retry-all-errors --retry 240 --retry-delay 1 http://localhost:11222/rest/v2/cache-managers/default/health/status > /dev/null | |
| curl --fail --silent --show-error --retry-all-errors --retry 240 --retry-delay 1 http://localhost:31222/rest/v2/cache-managers/default/health/status > /dev/null | |
| #Installing Nashorn dependencies | |
| #Adding nashorn libraries to both containers | |
| for containerId in $(docker ps -q) | |
| do | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.openjdk.nashorn:nashorn-core:15.6 | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.ow2.asm:asm:9.4 | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.ow2.asm:asm-commons:9.4 | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.ow2.asm:asm-tree:9.4 | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.ow2.asm:asm-util:9.4 | |
| done | |
| # It's not possible to use GH action services, as we need to mount custom configuration from checked out source to the server | |
| - if: github.base_ref == '15.0' || github.ref_name == '15.0' | |
| name: Start 2 Cross-site Infinispan Servers 15.0 | |
| shell: bash | |
| run: | | |
| docker run -d -p 11222:11222 -v ${{ github.workspace }}/scripts/identities.batch:/user-config/identities.batch -v ${{ github.workspace }}/dist:/opt/infinispan/static/console -v ${{ github.workspace }}/scripts/e2eTestsConfigLON.xml:/user-config/e2eTestsConfigLON.xml -e JAVA_OPTS="-Xms1024m -Xmx3072m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=2048m -Dinfinispan.site.name=LON -Djgroups.mcast_port=46656" -e IDENTITIES_BATCH="/user-config/identities.batch" quay.io/infinispan/server:15.0 --node-name=infinispan-4-lon-e2e -c "infinispan-xsite.xml" -c "/user-config/e2eTestsConfigLON.xml" | |
| docker run -d -p 31222:11222 -v ${{ github.workspace }}/scripts/identities.batch:/user-config/identities.batch -v ${{ github.workspace }}/dist:/opt/infinispan/static/console -v ${{ github.workspace }}/scripts/e2eTestsConfigNYC.xml:/user-config/e2eTestsConfigNYC.xml -e JAVA_OPTS="-Xms1024m -Xmx3072m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=2048m -Dinfinispan.site.name=NYC -Djgroups.mcast_port=46666" -e IDENTITIES_BATCH="/user-config/identities.batch" quay.io/infinispan/server:15.0 --node-name=infinispan-4-nyc-e2e -c "infinispan-xsite.xml" -c "/user-config/e2eTestsConfigNYC.xml" | |
| # Wait for server to startup | |
| curl --fail --silent --show-error --retry-all-errors --retry 240 --retry-delay 1 http://localhost:11222/rest/v2/cache-managers/default/health/status > /dev/null | |
| curl --fail --silent --show-error --retry-all-errors --retry 240 --retry-delay 1 http://localhost:31222/rest/v2/cache-managers/default/health/status > /dev/null | |
| #Installing Nashorn dependencies | |
| #Adding nashorn libraries to both containers | |
| for containerId in $(docker ps -q) | |
| do | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.openjdk.nashorn:nashorn-core:15.6 | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.ow2.asm:asm:9.4 | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.ow2.asm:asm-commons:9.4 | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.ow2.asm:asm-tree:9.4 | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.ow2.asm:asm-util:9.4 | |
| done | |
| # It's not possible to use GH action services, as we need to mount custom configuration from checked out source to the server | |
| - if: github.base_ref == '15.2' || github.ref_name == '15.2' | |
| name: Start 2 Cross-site Infinispan Servers 15.2 | |
| shell: bash | |
| run: | | |
| docker run -d -p 11222:11222 -v ${{ github.workspace }}/scripts/identities.batch:/user-config/identities.batch -v ${{ github.workspace }}/dist:/opt/infinispan/static/console -v ${{ github.workspace }}/scripts/e2eTestsConfigLON.xml:/user-config/e2eTestsConfigLON.xml -e JAVA_OPTS="-Xms1024m -Xmx3072m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=2048m -Dinfinispan.site.name=LON -Djgroups.mcast_port=46656" -e IDENTITIES_BATCH="/user-config/identities.batch" quay.io/infinispan/server:15.2 --node-name=infinispan-4-lon-e2e -c "infinispan-xsite.xml" -c "/user-config/e2eTestsConfigLON.xml" | |
| docker run -d -p 31222:11222 -v ${{ github.workspace }}/scripts/identities.batch:/user-config/identities.batch -v ${{ github.workspace }}/dist:/opt/infinispan/static/console -v ${{ github.workspace }}/scripts/e2eTestsConfigNYC.xml:/user-config/e2eTestsConfigNYC.xml -e JAVA_OPTS="-Xms1024m -Xmx3072m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=2048m -Dinfinispan.site.name=NYC -Djgroups.mcast_port=46666" -e IDENTITIES_BATCH="/user-config/identities.batch" quay.io/infinispan/server:15.2 --node-name=infinispan-4-nyc-e2e -c "infinispan-xsite.xml" -c "/user-config/e2eTestsConfigNYC.xml" | |
| # Wait for server to startup | |
| curl --fail --silent --show-error --retry-all-errors --retry 240 --retry-delay 1 http://localhost:11222/rest/v2/cache-managers/default/health/status > /dev/null | |
| curl --fail --silent --show-error --retry-all-errors --retry 240 --retry-delay 1 http://localhost:31222/rest/v2/cache-managers/default/health/status > /dev/null | |
| #Installing Nashorn dependencies | |
| #Adding nashorn libraries to both containers | |
| for containerId in $(docker ps -q) | |
| do | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.openjdk.nashorn:nashorn-core:15.6 | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.ow2.asm:asm:9.4 | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.ow2.asm:asm-commons:9.4 | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.ow2.asm:asm-tree:9.4 | |
| docker exec -i $containerId /opt/infinispan/bin/cli.sh install org.ow2.asm:asm-util:9.4 | |
| done | |
| - name: Restarting Infinispan Servers After Nashorn Installation | |
| run: | | |
| docker restart $(docker ps -q) | |
| # Wait for servers to startup | |
| curl --fail --silent --show-error --retry-all-errors --retry 240 --retry-delay 1 http://localhost:11222/rest/v2/cache-managers/default/health/status > /dev/null | |
| curl --fail --silent --show-error --retry-all-errors --retry 240 --retry-delay 1 http://localhost:31222/rest/v2/cache-managers/default/health/status > /dev/null | |
| curl --fail --silent --show-error --retry-all-errors --retry 240 --retry-delay 1 http://localhost:41222/rest/v2/cache-managers/default/health/status > /dev/null | |
| curl --fail --silent --show-error --retry-all-errors --retry 240 --retry-delay 1 http://localhost:51222/rest/v2/cache-managers/default/health/status > /dev/null | |
| - name: Initialize Infinispan Server | |
| run: cd data; bash ./create-data.sh admin password | |
| - name: Cypress run | |
| uses: cypress-io/github-action@v4 | |
| with: | |
| config-file: cypress.config.ts | |
| - name: Uploading test results | |
| uses: actions/[email protected] | |
| if: failure() | |
| with: | |
| name: screenshots | |
| path: ${{ github.workspace }}/cypress/screenshots/**/** | |
| retention-days: 1 | |
| - name: Get thread dump on failure | |
| if: failure() | |
| run: docker kill $(docker ps -q) -s 3 | |
| - name: Dump docker logs on failure | |
| if: failure() | |
| uses: jwalton/gh-docker-logs@v1 |