| | |
| | | ports: |
| | | - 5000:5000 |
| | | steps: |
| | | - uses: actions/checkout@v6 |
| | | with: |
| | | sparse-checkout: .github/benchmark |
| | | - name: Download artifacts |
| | | uses: actions/download-artifact@v8 |
| | | with: |
| | |
| | | file: ./opendj-packages/opendj-docker/Dockerfile |
| | | build-args: | |
| | | VERSION=${{ env.release_version }} |
| | | platforms: linux/amd64, linux/arm64/8, linux/ppc64le, linux/s390x #, linux/arm/v7 |
| | | platforms: linux/amd64, linux/arm64/8, linux/ppc64le, linux/s390x, linux/riscv64 #, linux/arm/v7 |
| | | push: true |
| | | tags: ${{ steps.meta.outputs.tags }} |
| | | labels: ${{ steps.meta.outputs.labels }} |
| | |
| | | timeout 3m bash -c 'until docker inspect --format="{{json .State.Health.Status}}" test_custom | grep -q \"healthy\"; do sleep 10; done' |
| | | docker exec test_custom 'sh' '-c' '/opt/opendj/bin/ldapsearch --hostname localhost --port 1636 --bindDN "cn=Directory Manager" --bindPassword custom_password --useSsl --trustAll --baseDN "dc=example,dc=com" --searchScope base "(objectClass=*)" 1.1' |
| | | docker kill test_custom |
| | | - name: Cache JMeter |
| | | uses: actions/cache@v5 |
| | | with: |
| | | path: ~/jmeter |
| | | key: jmeter-5.6.3 |
| | | - name: Benchmark Build vs Release |
| | | shell: bash |
| | | run: | |
| | | THREADS=200 DURATION=150 bash .github/benchmark/compare-opendj.sh \ |
| | | "Build" localhost:5000/${GITHUB_REPOSITORY,,}:${{ env.release_version }} \ |
| | | "Release" openidentityplatform/opendj:latest |
| | | - name: Upload benchmark artifacts |
| | | if: always() |
| | | uses: actions/upload-artifact@v7 |
| | | with: |
| | | name: benchmark-build-vs-release |
| | | path: | |
| | | a/ |
| | | b/ |
| | | *.jtl |
| | | *.docker.log |
| | | *.jmeter.out |
| | | if-no-files-found: warn |
| | | retention-days: 3 |
| | | |
| | | build-docker-alpine: |
| | | needs: build-maven |
| | |
| | | ports: |
| | | - 5000:5000 |
| | | steps: |
| | | - uses: actions/checkout@v6 |
| | | with: |
| | | sparse-checkout: .github/benchmark |
| | | - name: Download artifacts |
| | | uses: actions/download-artifact@v8 |
| | | with: |
| | |
| | | file: ./opendj-packages/opendj-docker/Dockerfile-alpine |
| | | build-args: | |
| | | VERSION=${{ env.release_version }} |
| | | platforms: linux/amd64, linux/arm64/8, linux/s390x, linux/ppc64le |
| | | platforms: linux/amd64, linux/arm64/8, linux/s390x, linux/ppc64le, linux/386, linux/riscv64 |
| | | push: true |
| | | tags: ${{ steps.meta.outputs.tags }} |
| | | labels: ${{ steps.meta.outputs.labels }} |
| | |
| | | timeout 3m bash -c 'until docker inspect --format="{{json .State.Health.Status}}" test_custom | grep -q \"healthy\"; do sleep 10; done' |
| | | docker exec test_custom 'sh' '-c' '/opt/opendj/bin/ldapsearch --hostname localhost --port 1636 --bindDN "cn=Directory Manager" --bindPassword custom_password --useSsl --trustAll --baseDN "dc=example,dc=com" --searchScope base "(objectClass=*)" 1.1' |
| | | docker kill test_custom |
| | | - name: Cache JMeter |
| | | uses: actions/cache@v5 |
| | | with: |
| | | path: ~/jmeter |
| | | key: jmeter-5.6.3 |
| | | - name: Benchmark Build-alpine vs Release-alpine |
| | | shell: bash |
| | | run: | |
| | | THREADS=200 DURATION=150 bash .github/benchmark/compare-opendj.sh \ |
| | | "Build-alpine" localhost:5000/${GITHUB_REPOSITORY,,}:${{ env.release_version }}-alpine \ |
| | | "Release-alpine" openidentityplatform/opendj:alpine |
| | | - name: Upload benchmark artifacts |
| | | if: always() |
| | | uses: actions/upload-artifact@v7 |
| | | with: |
| | | name: benchmark-build-vs-release-alpine |
| | | path: | |
| | | a/ |
| | | b/ |
| | | *.jtl |
| | | *.docker.log |
| | | *.jmeter.out |
| | | if-no-files-found: warn |
| | | retention-days: 90 |