Develop #58
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
# This workflow uses actions that are not certified by GitHub. | |
# They are provided by a third-party and are governed by | |
# separate terms of service, privacy policy, and support | |
# documentation. | |
name: Test Suite | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
pre_job: | |
runs-on: self-hosted | |
# Map a step output to a job output | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@v5 | |
with: | |
paths_filter: | | |
rust: | |
paths: 'rust/**' | |
paths_ignore: '["README.md", "TODO.md", "doc/**"]' | |
rust_test: | |
needs: pre_job | |
# Do not run if no files in rust/ have been changed since last job run | |
if: needs.pre_job.outputs.should_skip != 'true' || !fromJSON(needs.pre_job.outputs.paths_result).rust.should_skip | |
runs-on: self-hosted | |
defaults: | |
run: | |
working-directory: ./rust | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build | |
run: cargo build | |
- name: Run tests | |
run: cargo test | |
build_flutter: | |
needs: pre_job | |
if: needs.pre_job.outputs.should_skip != 'true' | |
runs-on: self-hosted | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'true' | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.16.5' | |
channel: 'stable' | |
- run: flutter --version | |
- name: Install dependencies | |
run: flutter pub get | |
- name: Use default personal infos | |
run: ln -svr lib/personal_info{_template,}.dart | |
- name: Verify formatting | |
run: dart format --output=none --set-exit-if-changed . | |
continue-on-error: true | |
- name: Analyze project source | |
run: flutter analyze | |
continue-on-error: true | |
- name: Run tests on emulators | |
run: just test |