Automation Tests #632
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: Automation Tests | |
on: | |
push: | |
branches: [ develop, feature/** ] | |
pull_request: | |
branches: [ develop ] | |
schedule: | |
- cron: '0 0 * * *' | |
workflow_dispatch: | |
jobs: | |
automation-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: 6.0.x | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: '18' | |
- uses: actions/cache@v2 | |
with: | |
path: | | |
'**/node_modules' | |
'/home/runner/.cache/Cypress' | |
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} | |
- name: Install Frontend Deps | |
run: yarn --cwd ./src/Ombi/ClientApp install | |
- name: Build Frontend | |
run: yarn --cwd ./src/Ombi/ClientApp build | |
- name: Build Docker Image | |
run: docker build -t ombi src/ | |
- name: Run Docker Image | |
run: nohup docker run --rm -p 5000:5000 ombi & | |
- name: Run Wiremock | |
run: nohup docker run --rm -p 32400:8080 --name wiremock wiremock/wiremock:2.35.0 & | |
- name: Sleep for server to start | |
run: sleep 20 | |
# - name: Start Frontend | |
# run: | | |
# nohup yarn --cwd ./src/Ombi/ClientApp start & | |
# - name: Install Automation Deps | |
# run: yarn --cwd ./tests install | |
# - name: Start Backend | |
# run: | | |
# nohup dotnet run --project ./src/Ombi -- --host http://*:3577 & | |
- name: Cypress Tests | |
uses: cypress-io/github-action@v4 | |
with: | |
record: true | |
browser: chrome | |
headless: true | |
working-directory: tests | |
wait-on: http://localhost:5000/ | |
# 10 minutes | |
wait-on-timeout: 600 | |
env: | |
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Stop Docker | |
if: always() | |
run: | | |
docker ps -q | xargs -I {} docker logs {} | |
docker container kill $(docker ps -q) |