Skip to content

Merge branch 'main' into fix/revocation-policy-test #91

Merge branch 'main' into fix/revocation-policy-test

Merge branch 'main' into fix/revocation-policy-test #91

Workflow file for this run

name: EBSI Conformance Test v3.2
on:
push:
paths:
- 'waltid-libraries/credentials/**'
- 'waltid-libraries/crypto/**'
- 'waltid-libraries/protocols/**'
- 'waltid-libraries/waltid-did/**'
- 'waltid-services/services/waltid-issuer-api/**'
- '.github/workflows/**'
jobs:
EBSI-Conformance-Test-v3:
runs-on: ubuntu-latest
steps:
- name: The EBSI Conformance Test v3.2 job is starting
run: |
echo -e "🔎 The EBSI Conformance Test v3.2 job is starting\n"
- name: Check EBSI Conformance API Status
run: |
echo "Checking if the API is available..."
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" https://api-conformance.ebsi.eu/did-registry/v5/identifiers/did:ebsi:zf39qHTXaLrr6iy3tQhT3UZ)
if [ "$RESPONSE" -ne 200 ]; then
echo "EBSI Conformance API is down. Exiting workflow with success. ✅"
exit 0 # Exit the workflow successfully
else
echo "EBSI Conformance API is up. Proceeding with tests."
fi
- name: Docker
run: docker --version
- name: Check out repository code
uses: actions/checkout@v4
- name: Start ngrok tunnel
run: |
docker run --net=host -d -it -e NGROK_AUTHTOKEN=${{ secrets.NGROK_AUTH_TOKEN }} ngrok/ngrok:latest http 7002
sleep 2s
- name: Update config files and start Issuer API
run: |
NGROK_URL=$(curl --retry 5 --retry-delay 5 --retry-connrefused -s http://127.0.0.1:4040/api/tunnels | jq -r '.tunnels[0].public_url')
if [[ -z "$NGROK_URL" ]]; then
echo "Error: Failed to fetch ngrok URL. Exiting..."
exit 1
fi
echo "The ngork url is ${NGROK_URL}\n"
sed -i 's|readonly ISSUER_URL=".*"|readonly ISSUER_URL="'"${NGROK_URL}"'"|g' .github/workflows/ebsictv3/EBSICTV3-IssueToHolder.sh
sed -i 's|baseUrl = ".*"|baseUrl = "'"${NGROK_URL}"'"|g' waltid-services/waltid-issuer-api/config/issuer-service.conf
docker build -t waltid/issuer-api:latest -f waltid-services/waltid-issuer-api/Dockerfile .
docker run --net=host -d -v $PWD/waltid-services/waltid-issuer-api/config:/waltid-issuer-api/config --name waltid-issuer-api waltid/issuer-api:latest
curl --retry 5 --retry-delay 5 --retry-connrefused http://localhost:7002/livez
ISSUER_URL=$(curl --retry 5 --retry-delay 5 --retry-connrefused http://localhost:7002/draft11/.well-known/openid-credential-issuer | jq -r '.issuer')
if [[ "$ISSUER_URL" == "${NGROK_URL}/draft11" ]]; then
echo -e "\nIssuer URL is valid: ${ISSUER_URL}\n"
else
echo -e "\nIssuer URL is invalid (matches forbidden value): $ISSUER_URL and "${NGROK_URL}/draft11"\n"
exit 1
fi
- name: Execute test scripts
env:
EBSI_CT_PRIVATE_KEY_PARAM: "${{ secrets.EBSI_CT_PRIVATE_KEY_PARAM }}"
run: |
chmod +x .github/workflows/ebsictv3/EBSICTV3-IssueToHolder.sh
./.github/workflows/ebsictv3/EBSICTV3-IssueToHolder.sh