Replace pki client-cert-import #268
This file contains 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: DS Tests | |
on: [push, pull_request] | |
env: | |
NAMESPACE: ${{ vars.REGISTRY_NAMESPACE || 'dogtagpki' }} | |
jobs: | |
build: | |
name: Waiting for build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Wait for build | |
uses: lewagon/[email protected] | |
with: | |
ref: ${{ github.ref }} | |
check-name: 'Building LDAP SDK' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
wait-interval: 30 | |
if: github.event_name == 'push' | |
- name: Wait for build | |
uses: lewagon/[email protected] | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
check-name: 'Building LDAP SDK' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
wait-interval: 30 | |
if: github.event_name == 'pull_request' | |
ds-test: | |
name: Testing DS | |
needs: build | |
runs-on: ubuntu-latest | |
env: | |
SHARED: /tmp/workdir/ldapjdk | |
steps: | |
- name: Clone the repository | |
uses: actions/checkout@v4 | |
- name: Retrieve LDAP SDK image | |
uses: actions/cache@v4 | |
with: | |
key: ldapjdk-images-${{ github.sha }} | |
path: ldapjdk-images.tar | |
- name: Load LDAP SDK image | |
run: docker load --input ldapjdk-images.tar | |
- name: Run container | |
run: | | |
tests/bin/runner-init.sh ds | |
env: | |
HOSTNAME: ds.example.com | |
- name: Install DS package | |
run: docker exec ds dnf install -y 389-ds-base | |
- name: Create DS instance | |
run: docker exec ds ${SHARED}/tests/bin/ds-create.sh | |
- name: Verify LDAP tools | |
run: docker exec ds ${SHARED}/tests/bin/tools-test.sh | |
- name: Gather artifacts | |
if: always() | |
run: | | |
tests/bin/ds-artifacts-save.sh ds | |
- name: Remove DS instance | |
run: docker exec ds ${SHARED}/tests/bin/ds-remove.sh | |
- name: Upload artifacts | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ds | |
path: | | |
/tmp/artifacts/ds | |
ds-ssl-test: | |
name: Testing DS with SSL | |
needs: build | |
runs-on: ubuntu-latest | |
env: | |
SHARED: /tmp/workdir/ldapjdk | |
steps: | |
- name: Clone the repository | |
uses: actions/checkout@v4 | |
- name: Retrieve LDAP SDK image | |
uses: actions/cache@v4 | |
with: | |
key: ldapjdk-images-${{ github.sha }} | |
path: ldapjdk-images.tar | |
- name: Load LDAP SDK image | |
run: docker load --input ldapjdk-images.tar | |
- name: Run container | |
run: | | |
tests/bin/runner-init.sh server | |
env: | |
HOSTNAME: server.example.com | |
- name: Import PKI packages | |
run: | | |
docker create --name=pki-dist quay.io/$NAMESPACE/pki-dist:latest | |
docker cp pki-dist:/root/RPMS/. /tmp/RPMS/ | |
docker rm -f pki-dist | |
- name: Install packages | |
run: | | |
docker exec server dnf install -y 389-ds-base | |
docker cp /tmp/RPMS/. server:/root/RPMS/ | |
docker exec server bash -c "dnf localinstall -y /root/RPMS/*" | |
- name: Create DS instance | |
run: docker exec server ${SHARED}/tests/bin/ds-create.sh | |
- name: Create signing cert | |
run: docker exec server ${SHARED}/tests/bin/ds-cert-signing-create.sh | |
- name: Create server cert | |
run: docker exec server ${SHARED}/tests/bin/ds-cert-server-create.sh | |
- name: Enable SSL connection | |
run: docker exec server ${SHARED}/tests/bin/ds-ssl-enable.sh | |
- name: Verify LDAP tools with SSL | |
run: | | |
# TODO: use SSL | |
docker exec server ${SHARED}/tests/bin/tools-test.sh | |
- name: Remove DS instance | |
run: docker exec server ${SHARED}/tests/bin/ds-remove.sh | |
- name: Gather artifacts | |
if: always() | |
run: | | |
tests/bin/ds-artifacts-save.sh server | |
- name: Upload artifacts | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ds-ssl | |
path: | | |
/tmp/artifacts/server |