Files
oneuptime/.github/workflows/backend.yaml
augustinebest 2831d9a73e removed samlIdp
2022-01-24 15:35:40 +01:00

40 lines
2.6 KiB
YAML

name: Backend Jobs
on:
push:
# run this workflow when changes are pushed to backend
paths:
- "backend/**"
- ".github/workflows/backend.yaml"
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '14'
- name: Run Backend tests
run: |-
sudo apt-get update
sudo apt-get install -y curl gcc
sudo apt-get install -y build-essential
curl -sSL https://get.docker.com/ | sh
sudo docker stop $(sudo docker ps -aq) || echo 'No docker containers'
sudo docker rm $(sudo docker ps -aq) || echo 'No docker containers'
sudo docker run --name mongo -p 27017:27017 -d mongo:4.2.3
sudo docker run --name redis -p 6379:6379 -d redis:5.0.7 redis-server
sudo docker run --name realtime --env-file ./realtime/.env -e PORT=3300 --net=host -d oneuptime/realtime:latest
sudo docker build -t oneuptime/init-script:3.0.$CI_PIPELINE_IID ./init-script
sudo docker run -e NODE_ENV=development -e IS_SAAS_SERVICE=true -e IS_TESTING=true --net=host -d oneuptime/init-script:3.0.$CI_PIPELINE_IID
sudo docker build -t oneuptime/probe:3.0.$CI_PIPELINE_IID ./probe
sudo docker run --name probe-1 --env-file ./probe/.env -e PORT=3024 -e SERVER_URL=http://localhost:3020 -e PROBE_NAME='Probe 1' -e PROBE_KEY=test-key --net=host -d oneuptime/probe:3.0.$CI_PIPELINE_IID
sudo docker run --name probe-2 --env-file ./probe/.env -e PORT=3025 -e SERVER_URL=http://localhost:3020 -e PROBE_NAME='Probe 2' -e PROBE_KEY=test-key --net=host -d oneuptime/probe:3.0.$CI_PIPELINE_IID
sudo docker build -t oneuptime/http-test-server:3.0.$CI_PIPELINE_IID ./http-test-server
sudo docker run -p 3010:3010 -d oneuptime/http-test-server:3.0.$CI_PIPELINE_IID
sudo docker ps
cd backend
npm ci
ENCRYPTION_KEY=$ENCRYPTION_KEY TEST_EMAIL_SMTP_PORT=$TEST_EMAIL_SMTP_PORT TEST_EMAIL_SMTP_SERVER=$TEST_EMAIL_SMTP_SERVER TEST_EMAIL=$TEST_EMAIL TEST_EMAIL_NAME=$TEST_EMAIL TEST_EMAIL_PASSWORD=$TEST_EMAIL_PASSWORD IS_SAAS_SERVICE=true IS_TESTING=true DOCKER_UNMASKED_USERNAME=$DOCKER_UNMASKED_USERNAME DOCKER_UNMASKED_PASSWORD=$DOCKER_UNMASKED_PASSWORD DOCKER_SECURITY_SCAN_REGISTRY_URL=$DOCKER_SECURITY_SCAN_REGISTRY_URL DOCKER_SECURITY_SCAN_IMAGE_PATH=$DOCKER_SECURITY_SCAN_IMAGE_PATH DOCKER_SECURITY_SCAN_IMAGE_TAGS=$DOCKER_SECURITY_SCAN_IMAGE_TAGS TEST_UNMASKED_USERNAME=$TEST_UNMASKED_USERNAME TEST_UNMASKED_PASSWORD=$TEST_UNMASKED_PASSWORD TEST_SECURITY_SCAN_REPOSITORY_URL=$TEST_SECURITY_SCAN_REPOSITORY_URL npm test