diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml new file mode 100644 index 0000000..9826f38 --- /dev/null +++ b/.github/workflows/checks.yml @@ -0,0 +1,52 @@ +name: Checks + +on: + push: + pull_request: + + # everyday at 3 am UTC + schedule: + - cron: '0 3 * * *' + +jobs: + lint-check: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Java for Flutter + uses: actions/setup-java@v1 + with: + java-version: '12.x' + - name: Set up Flutter + uses: subosito/flutter-action@v1 + with: + channel: 'stable' + - name: Lint + run: | + flutter pub get + flutter analyze + + build-apk-and-web: + needs: lint-check + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macOS-latest] + + steps: + - uses: actions/checkout@v2 + - name: Set up Java for Flutter + uses: actions/setup-java@v1 + with: + java-version: '12.x' + - name: Set up Flutter + uses: subosito/flutter-action@v1 + with: + channel: 'stable' + - name: Install dependencies + run: flutter pub get + - name: Build APK + run: flutter build apk + - name: Build web + run: flutter build web \ No newline at end of file diff --git a/.gitignore b/.gitignore index 4d1dce6..d43f623 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,9 @@ /build/ .flutter-plugins-dependencies +# Web related +lib/generated_plugin_registrant.dart + # Android related **/android/**/gradle-wrapper.jar **/android/.gradle diff --git a/README.md b/README.md index f030282..857c1f7 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@
[![Gitter](https://badges.gitter.im/codEd-org/simulate.svg)](https://gitter.im/codEd-org/simulate?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +[![Checks](https://github.com/builtree/simulate/actions/workflows/checks.yml/badge.svg)](https://github.com/builtree/simulate/actions/workflows/checks.yml) Welcome to Simulate! Simulate aims to be a collection of simulations and visualizations from various domains like mathematics, physics, computer science etc. in a cross platform app made using [Flutter](https://flutter.dev/). diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..f065cf1 --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,29 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index 5e7e744..cd41010 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,6 +19,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter + flutter_lints: ^1.0.0 flutter: uses-material-design: true