Guardian CI API Tests #191
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: Guardian CI API Tests | |
on: | |
schedule: | |
- cron: '0 1 * * *' | |
jobs: | |
buildAndTest: | |
name: Build and Test | |
runs-on: [self-hosted, Linux, medium, ephemeral] | |
services: | |
ipfs-node: | |
image: ipfs/kubo:latest | |
ports: | |
- 8080:8080 | |
- 5001:5001 | |
cache: | |
image: registry.redict.io/redict | |
ports: | |
- 6379:6379 | |
strategy: | |
matrix: | |
node-version: [ 20.x ] | |
mongodb-version: [ 7.0.5 ] | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 | |
with: | |
egress-policy: audit | |
- name: Checkout Code | |
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
with: | |
ref: 'develop' | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Setup Yarn | |
uses: Borales/actions-yarn@3766bb1335b98fb13c60eaf358fe20811b730a88 # v5.0.0 | |
with: | |
cmd: install | |
- name: Install dependencies | |
run: yarn install | |
- name: Build packages | |
run: | | |
pushd interfaces | |
yarn run build | |
popd | |
pushd common | |
yarn run build | |
popd | |
pushd notification-service | |
yarn run build | |
popd | |
pushd logger-service | |
yarn run build | |
popd | |
pushd auth-service | |
yarn run build | |
popd | |
pushd guardian-service | |
yarn run build | |
popd | |
pushd policy-service | |
yarn run build | |
popd | |
pushd worker-service | |
yarn run build | |
popd | |
pushd api-gateway | |
yarn run build | |
popd | |
- name: Start NatsMQ | |
uses: onichandame/nats-action@a8144f9009c5f67c39edd6a50f9de659c44bd135 # v0.0.0 | |
with: | |
port: "4222" | |
- name: Start MongoDB | |
uses: supercharge/mongodb-github-action@5a87bd81f88e2a8b195f8b7b656f5cda1350815a # v1.11.0 | |
with: | |
mongodb-version: ${{ matrix.mongodb-version }} | |
- name: Run Guardian | |
run: | | |
pushd notification-service | |
npm start & | |
sleep 20 | |
popd | |
pushd logger-service | |
npm start & | |
sleep 20 | |
popd | |
pushd auth-service | |
npm start & | |
sleep 20 | |
popd | |
pushd guardian-service | |
npm start & | |
sleep 20 | |
popd | |
pushd policy-service | |
npm start & | |
sleep 20 | |
popd | |
pushd worker-service | |
npm start & | |
sleep 20 | |
popd | |
pushd api-gateway | |
npm start & | |
sleep 20 | |
popd | |
sleep 60 | |
env: | |
CI: true | |
OPERATOR_ID: ${{ secrets.CI_HEDERA_ACCOUNT }} | |
OPERATOR_KEY: ${{ secrets.CI_HEDERA_PRIV_KEY }} | |
IPFS_NODE_ADDRESS: http://localhost:5001 | |
IPFS_PROVIDER: local | |
IPFS_PUBLIC_GATEWAY: http://localhost:8080/ipfs/${cid} | |
- name: Run tests with Cypress | |
run: | | |
pushd e2e-tests | |
npm install --force | |
npx cypress run --env "portApi=3002,operatorId=${{ secrets.CI_HEDERA_ACCOUNT }},operatorKey=${{ secrets.CI_HEDERA_PRIV_KEY }}" --spec cypress/e2e/api-tests/**/*.cy.js | |
popd | |
- name: Publish API Test Results | |
uses: EnricoMi/publish-unit-test-result-action@30eadd5010312f995f0d3b3cff7fe2984f69409e # v2.16.1 | |
if: always() | |
with: | |
files: e2e-tests/cypress/test_results/**/*.xml |