Integrating support for Login from flutter-controls-core #581
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: Continuous Integration for the Parameter Page web application | |
on: | |
pull_request: | |
branches: | |
- "main" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
Integration-tests: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
test: | |
- smoke_test | |
- display_parameter_page_test | |
- delete_entry_from_page_test | |
- add_comment_to_page_test | |
- reorganize_parameters_test | |
- cancel_page_edits_test | |
- add_parameter_to_page_test | |
- clear_all_entries_test | |
- create_new_parameter_page_test | |
- change_display_units_test | |
- display_parameter_alarms_test | |
- display_digital_status_detail_test | |
- recall_parameter_page_test | |
- write_to_parameter_test | |
- save_parameter_page_test | |
- generate_link_to_parameter_page_test | |
- display_tab_test | |
- display_sub_page_test | |
- extract_parameters_from_text_paste_test | |
- display_sub_system_test | |
- enable_disable_settings_test | |
- display_bypass_alarm_test | |
- knob_parameter_test | |
- knob_parameters_in_unison_test | |
- login_test | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Generate test configuration | |
run: | | |
cp .env-test .env | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: "stable" | |
cache: true | |
- name: Install Chrome beta | |
id: setup-chrome | |
uses: browser-actions/setup-chrome@v1 | |
with: | |
chrome-version: beta | |
- name: Installing chromedriver (needed for Integration tests) | |
uses: nanasess/setup-chromedriver@v2 | |
with: | |
chromedriver-version: "125.0.6422.4" | |
- name: Starting chromedriver and executing integration test | |
run: | | |
chromedriver --port=4444 & | |
flutter pub get | |
flutter drive --chrome-binary=${{ steps.setup-chrome.outputs.chrome-path }} --driver=test_driver/integration_test.dart --target=test/integration_tests/${{ matrix.test }}.dart -d web-server --dart-define=USE_MOCK_SERVICES=true | |
Linter-UnitTest-SmokeTest-Build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checking out source code | |
uses: actions/checkout@v3 | |
- name: Generate test configuration | |
run: | | |
cp .env-test .env | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: "stable" | |
cache: true | |
- name: Resolving dependencies | |
run: flutter pub get | |
- name: Linting | |
run: flutter analyze . | |
- name: Running unit tests | |
run: | | |
flutter pub get | |
flutter test test/unit_tests | |
- name: Running widget tests | |
run: | | |
flutter test test/widget_tests | |
- name: Building web application | |
run: | | |
flutter build web |