name: Automation Tests on: push: branches: [ feature/ui-automation ] pull_request: branches: [ feature/ui-automation ] jobs: install: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup .NET uses: actions/setup-dotnet@v1 with: dotnet-version: 5.0.x - uses: actions/setup-node@v2 with: node-version: '14' - uses: actions/cache@v2 with: path: | '**/node_modules' key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} - name: Install Frontend Deps run: yarn --cwd ./src/Ombi/ClientApp install - name: Install Automation Deps run: yarn --cwd ./tests install cypress-tests: runs-on: ubuntu-latest needs: install strategy: fail-fast: false matrix: containers: [1] steps: - uses: actions/checkout@v2 - name: Setup .NET uses: actions/setup-dotnet@v1 with: dotnet-version: 5.0.x - uses: actions/setup-node@v2 with: node-version: '14' - uses: actions/cache@v2 with: path: | '**/node_modules' key: ${{ runner.os }}-modules-${{ hashFiles('**/**.lock') }} - name: Start Backend run: | nohup dotnet run -p ./src/Ombi -- --host http://*:3577 & - name: Start Frontend run: | nohup yarn --cwd ./src/Ombi/ClientApp start & - name: Cypress Tests uses: cypress-io/github-action@v2.8.2 with: install: false record: true browser: chrome headless: true working-directory: tests group: "UI - Chrome" parallel: true wait-on: http://localhost:3577/ # 7 minutes wait-on-timeout: 420 env: CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}