Skip to content

run-cypress-tests

run-cypress-tests #53

Workflow file for this run

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: run-cypress-tests
on:
workflow_dispatch:
schedule:
- cron: '51 23 * * *'
jobs:
build-streampipes-and-run-e2e-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
cache: 'maven'
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version: '22.x'
cache: 'npm'
cache-dependency-path: ui/package-lock.json
- name: Set up Develocity npm agent
run: |
npm exec -y -- pacote extract @gradle-tech/develocity-agent ~/.node_libraries/@gradle-tech/develocity-agent
- name: Build UI
working-directory: ./ui
run: |
rm -rf node_modules package-lock.json
npm install
npm run build
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.STREAMPIPES_DEVELOCITY_ACCESS_KEY }}
NODE_OPTIONS: '-r @gradle-tech/develocity-agent/preload'
- name: Build with Maven
run: mvn clean package
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.STREAMPIPES_DEVELOCITY_ACCESS_KEY }}
- name: Build and run streampipes
run: docker compose up --build -d
- name: Wait 80 seconds
working-directory: ./installer/compose
run: sleep 80
- name: 'UI Tests'
working-directory: ./ui
run: npx cypress run --record --key ${{ secrets.CYPRESS_RECORD_KEY }} --spec "cypress/tests/**/*.spec.ts"
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.STREAMPIPES_DEVELOCITY_ACCESS_KEY }}
NODE_OPTIONS: '-r @gradle-tech/develocity-agent/preload'