Skip to content

Add on-commit packit COPR builds #59

Add on-commit packit COPR builds

Add on-commit packit COPR builds #59

Workflow file for this run

name: Tomcat Tests
on: [push, pull_request]
jobs:
init:
name: Initialization
uses: ./.github/workflows/init.yml
secrets: inherit
build:
name: Waiting for build
needs: init
runs-on: ubuntu-latest
steps:
- name: Wait for build
uses: lewagon/[email protected]
with:
ref: ${{ github.ref }}
check-name: 'Building JSS'
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 JSS'
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 30
if: github.event_name == 'pull_request'
# docs/admin/server/Configuring-HTTPS-Connector-with-NSS-Database.adoc
https-nss-test:
name: Testing HTTPS connector with NSS database
needs: [init, build]
runs-on: ubuntu-latest
env:
SHARED: /tmp/workdir/pki
steps:
- name: Clone repository
uses: actions/checkout@v3
- name: Retrieve jss-runner image
uses: actions/cache@v3
with:
key: jss-runner-${{ github.sha }}
path: jss-runner.tar
- name: Load jss-runner image
run: docker load --input jss-runner.tar
- name: Create network
run: docker network create example
- name: Set up server container
run: |
IMAGE=jss-runner \
NAME=server \
HOSTNAME=server.example.com \
tests/bin/runner-init.sh
- name: Connect server container to network
run: docker network connect example server --alias server.example.com
- name: Install PKI packages
run: docker exec server dnf install -y pki-server
- name: Create Tomcat
run: |
docker exec server pki-server create -v
- name: Create NSS database in Tomcat
run: |
docker exec server pki-server nss-create --no-password
- name: Create SSL server cert
run: |
docker exec server pki -d /var/lib/pki/pki-tomcat/alias \
nss-cert-request \
--subject "CN=$HOSTNAME" \
--ext /usr/share/pki/server/certs/sslserver.conf \
--csr sslserver.csr
docker exec server pki -d /var/lib/pki/pki-tomcat/alias \
nss-cert-issue \
--csr sslserver.csr \
--ext /usr/share/pki/server/certs/sslserver.conf \
--cert sslserver.crt
docker exec server pki -d /var/lib/pki/pki-tomcat/alias \
nss-cert-import \
--cert sslserver.crt \
sslserver
- name: Create HTTPS connector with NSS database
run: |
docker exec server pki-server jss-enable
docker exec server pki-server http-connector-add \
--port 8443 \
--scheme https \
--secure true \
--sslEnabled true \
--sslProtocol SSL \
--sslImpl org.dogtagpki.tomcat.JSSImplementation \
Secure
docker exec server pki-server http-connector-cert-add \
--keyAlias sslserver \
--keystoreType pkcs11 \
--keystoreProvider Mozilla-JSS
- name: Start Tomcat
run: |
docker exec server pki-server start
- name: Set up client container
run: |
IMAGE=jss-runner \
NAME=client \
HOSTNAME=client.example.com \
tests/bin/runner-init.sh
- name: Connect client container to network
run: docker network connect example client --alias client.example.com
- name: Wait for Tomcat to start
run: |
tests/bin/tomcat-start-wait.sh client https://server.example.com:8443
- name: Stop Tomcat
run: |
docker exec server pki-server stop --wait -v
- name: Remove Tomcat
run: |
docker exec server pki-server remove -v
- name: Gather artifacts from server container
if: always()
run: |
tests/bin/pki-artifacts-save.sh server
continue-on-error: true
- name: Upload artifacts from server container
if: always()
uses: actions/upload-artifact@v3
with:
name: https-nss-test
path: |
/tmp/artifacts/server