Skip to content

Commit

Permalink
Added configuration to RC tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mirzakaracic committed Dec 31, 2024
1 parent 9ba4e7e commit 8500f95
Show file tree
Hide file tree
Showing 10 changed files with 51 additions and 54 deletions.
14 changes: 7 additions & 7 deletions .github/actions/build-and-test/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ inputs:
required: false
default: "latest"
description: "Server docker image tag"
jfrog-docker-username:
oidc-provider:
required: true
description: ""
jfrog-docker-token:
oidc-audience:
required: true
description: ""
run-tests:
required: true
default: "false"
default: "true"
description: Spin up aerospike enterprise server and run tests

runs:
Expand All @@ -39,17 +39,17 @@ runs:
shell: bash
run: mvn clean install

- name: Run EE server
- name: Run Aerospike
if: ${{ inputs.run-tests == 'true' }}
uses: ./.github/actions/run-ee-server
with:
use-server-rc: ${{ inputs.use-server-rc }}
server-tag: ${{ inputs.server-tag }}
docker-hub-username: ${{ inputs.jfrog-docker-username }}
docker-hub-password: ${{ inputs.jfrog-docker-token }}
oidc-provider: ${{ inputs.oidc-provider }}
oidc-audience: ${{ inputs.oidc-audience }}

- name: Run tests
shell: bash
if: ${{ inputs.run-tests == true }}
if: ${{ inputs.run-tests == 'true' }}
working-directory: test
run: mvn test -DskipTests=false
35 changes: 27 additions & 8 deletions .github/actions/run-ee-server/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,38 +15,57 @@ inputs:
required: false
description: Container repo url
default: aerospike.jfrog.io/docker/
oidc-provider:
jfrog-platform-url:
description: ""
required: false
default: gh-aerospike-clients
default: https://aerospike.jfrog.io
oidc-provider:
description: ""
required: true
oidc-audience:
description: ""
required: true
container-name:
default: aerospike
required: false
default: aerospike/clients
description: Name for test container

runs:
using: "composite"
steps:
- name: Set up JFrog credentials
id: setup-jfrog-cli
uses: jfrog/setup-jfrog-cli@v4
env:
JF_URL: ${{ inputs.jfrog-platform-url }}
with:
oidc-provider-name: ${{ inputs.oidc-provider }}
oidc-audience: ${{ inputs.oidc-audience }}

- name: Log into Docker Hub to get server RC
if: ${{ inputs.use-server-rc == 'true' }}
run: docker login ${{ inputs.container-repo-url }} --username ${{ inputs.docker-hub-username }} --password ${{ inputs.docker-hub-password }}
- if: ${{ inputs.use-server-rc == 'true' }}
run: docker login ${{ inputs.container-repo-url }} --username ${{ steps.setup-jfrog-cli.outputs.oidc-user }} --password ${{ steps.setup-jfrog-cli.outputs.oidc-token }}
shell: bash

- run: echo IMAGE_NAME=${{ inputs.use-server-rc == 'true' && inputs.container-repo-url || '' }}aerospike/aerospike-server-enterprise${{ inputs.use-server-rc == 'true' && '-rc' || '' }}:${{ inputs.server-tag }} >> $GITHUB_ENV
shell: bash

- run: docker run -d --name aerospike -p 3000:3000 ${{ env.IMAGE_NAME }}
- run: docker run -d --name ${{ inputs.container-name }} -p 3000:3000 ${{ env.IMAGE_NAME }}
shell: bash

- uses: ./.github/actions/wait-for-as-server-to-start
with:
container-name: aerospike
container-name: ${{ inputs.container-name }}
is-security-enabled: true
is-strong-consistency-enabled: true

- run: docker exec ${{ inputs.container-name }} asadm --enable -e 'asinfo -v "roster-set:namespace=test;nodes=A1"'
shell: bash

- run: docker exec ${{ inputs.container-name }} asadm --enable -e 'asinfo -v revive:'
shell: bash

- run: docker exec ${{ inputs.container-name }} asadm --enable -e 'asinfo -v recluster:'
shell: bash

- run: docker logs ${{ inputs.container-name }}
shell: bash
6 changes: 5 additions & 1 deletion .github/actions/wait-for-as-server-to-start/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ inputs:
description: Flag to toggle docker hub creds use. With this flag enabled before attempting to pull image we will attempt to log in do docker hub.
required: false
default: "false"
is-strong-consistency-enabled:
description: Flag to enable strong consistency
required: false
default: "false"

runs:
using: "composite"
Expand All @@ -18,5 +22,5 @@ runs:
# Also, we don't want to fail if we timeout in case the server *did* finish starting up but the script couldn't detect it due to a bug
# Effectively, this composite action is like calling "sleep" that is optimized to exit early when it detects an ok from the server
- name: Wait for EE server to start
run: timeout 30 bash ./.github/workflows/scripts/wait-for-as-server-to-start.sh ${{ inputs.container-name }} ${{ inputs.is-security-enabled }} || true
run: timeout 30 bash ./.github/workflows/scripts/wait-for-as-server-to-start.sh ${{ inputs.container-name }} ${{ inputs.is-security-enabled }} ${{ inputs.is-strong-consistency-enabled }} || true
shell: bash
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,8 @@ on:
description: Spin up aerospike enterprise server and run tests

jobs:
debug-job:
runs-on: ubuntu-latest
steps:
- name: debug
run: |
echo "${{ inputs.branch }}"
echo "${{ github.base_ref }}"
java-version:
needs: debug-job
runs-on: ubuntu-latest
runs-on: ${{ vars.BUILD_CONTAINER_DISTRO_VERSION }}
outputs:
java-version: ${{ steps.get-java-version.outputs.java-version }}
steps:
Expand All @@ -62,14 +53,6 @@ jobs:
run: |
echo ${{ steps.get-java-version.outputs.java-version }}
debug-java-version-job:
runs-on: ubuntu-latest
needs: java-version
steps:
- name: debug
run: |
echo "${{ needs.java-version.outputs.java-version }}"
build:
uses: ./.github/workflows/build.yaml
needs: java-version
Expand Down
17 changes: 3 additions & 14 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ on:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ${{ vars.BUILD_CONTAINER_DISTRO_VERSION }}
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand All @@ -58,22 +58,11 @@ jobs:
distribution: "semeru" # See 'Supported distributions' for available options
java-version: ${{ inputs.java-version }}

# This is needed so we can authenticate and get the credentials to be able to pull AE RC from JFrog
- name: Set up JFrog credentials
id: setup-jfrog-cli
uses: jfrog/setup-jfrog-cli@v4
env:
JF_URL: ${{ inputs.jfrog-platform-url }}
with:
version: 2.72.2
oidc-provider-name: ${{ inputs.oidc-provider }}
oidc-audience: ${{ inputs.oidc-audience }}

- name: Build and test
uses: ./.github/actions/build-and-test
with:
crypto-type: ${{ inputs.crypto-type }}
server-tag: ${{ inputs.server-tag }}
use-server-rc: ${{ inputs.use-server-rc }}
jfrog-docker-username: ${{ steps.setup-jfrog-cli.outputs.oidc-user }}
jfrog-docker-token: ${{ steps.setup-jfrog-cli.outputs.oidc-token }}
oidc-provider: ${{ secrets.JFROG_OIDC_PROVIDER }}
oidc-audience: ${{ secrets.JFROG_OIDC_AUDIENCE }}
2 changes: 1 addition & 1 deletion .github/workflows/promote.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ on:

jobs:
validate-build:
runs-on: ubuntu-latest
runs-on: ${{ vars.BUILD_CONTAINER_DISTRO_VERSION }}
steps:
- name: Setup jfrog shell
uses: jfrog/setup-jfrog-cli@v4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
jobs:
test-with-server-release:
name: Build stage - Test with latest version of Aerospike Enterprise Server
uses: ./.github/workflows/build-dev.yaml
uses: ./.github/workflows/build-pr.yaml
with:
branch: ${{ github.ref }}
source-branch: ${{ inputs.source-branch || github.base_ref }}
Expand All @@ -26,7 +26,7 @@ jobs:

test-with-server-rc:
name: Build stage - Test with latest RC version of Aerospike Enterprise Server
uses: ./.github/workflows/build-dev.yaml
uses: ./.github/workflows/build-pr.yaml
with:
branch: ${{ github.base_ref || inputs.branch }}
source-branch: ${{ inputs.source-branch || github.base_ref }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-stage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
debug-job:
runs-on: ubuntu-latest
runs-on: ${{ vars.BUILD_CONTAINER_DISTRO_VERSION }}
steps:
- name: debug
run: |
Expand All @@ -16,7 +16,7 @@ jobs:
java-version:
needs: debug-job
runs-on: ubuntu-latest
runs-on: ${{ vars.BUILD_CONTAINER_DISTRO_VERSION }}
outputs:
java-version: ${{ steps.get-java-version.outputs.java-version }}
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ on:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ${{ vars.BUILD_CONTAINER_DISTRO_VERSION }}
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand Down
2 changes: 2 additions & 0 deletions client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@
<pomFile>${project.basedir}/deploy-resources/bouncycastle_pom.xml</pomFile>
<file>target/${project.build.finalName}.jar</file>
<groupId>com.aerospike</groupId>
<version>${revision}</version>
<artifactId>aerospike-client${crypto.type}-jdk21</artifactId>
<generatePom>true</generatePom>
</configuration>
Expand Down Expand Up @@ -189,6 +190,7 @@
<pomFile>${project.basedir}/deploy-resources/gnu_pom.xml</pomFile>
<file>target/${project.build.finalName}.jar</file>
<groupId>com.aerospike</groupId>
<version>${revision}</version>
<artifactId>aerospike-client${crypto.type}-jdk21</artifactId>
<generatePom>true</generatePom>
</configuration>
Expand Down

0 comments on commit 8500f95

Please sign in to comment.