108 lines
3.7 KiB
YAML
108 lines
3.7 KiB
YAML
name: Lint Code
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [ "master" ]
|
|
|
|
jobs:
|
|
lint-mobile:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
output1: ${{ steps.filter.outputs.workflows }}
|
|
name: 'Lint Flutter Mobile'
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
# - uses: dorny/paths-filter@v2
|
|
# id: filter
|
|
# with:
|
|
# list-files: shell
|
|
# filters: |
|
|
# mobile:
|
|
# - added|modified: 'mobile/**'
|
|
- name: Install Deps
|
|
run: |
|
|
apt-get update
|
|
apt-get --yes --force-yes install jq unzip
|
|
- name: Install Flutter SDK and Lint
|
|
# if: steps.filter.outputs.mobile == 'true'
|
|
run: |
|
|
echo 'Downloading sdk...'
|
|
cd ..
|
|
git clone -b stable --single-branch https://github.com/flutter/flutter.git
|
|
echo 'Adding flutter to path:'
|
|
export PATH="$PATH:`pwd`/flutter/bin"
|
|
cd rluv-client
|
|
flutter doctor
|
|
echo 'Generating model files...'
|
|
dart run build_runner build
|
|
echo 'Analyzing...'
|
|
flutter analyze --no-fatal-infos --no-fatal-warnings > mobile_lint.txt
|
|
export MOBILE=$(cat mobile_lint.txt | grep -o 'No issues found' | wc -l | xargs)
|
|
if [[ $MOBILE == 0 ]]; then echo 'Flutter Linting failed with' && cat mobile_lint.txt | tail -n 15 && echo '...' && exit 1; fi
|
|
|
|
|
|
# lint-busypay:
|
|
# runs-on: ubuntu-latest
|
|
# outputs:
|
|
# output1: ${{ steps.filter.outputs.workflows }}
|
|
# name: 'Lint Flutter Busypay'
|
|
# steps:
|
|
# - uses: actions/checkout@v3
|
|
# - uses: dorny/paths-filter@v2
|
|
# id: filter
|
|
# with:
|
|
# list-files: shell
|
|
# filters: |
|
|
# busypay:
|
|
# - added|modified: 'busypay/lib/**'
|
|
# - name: Install Flutter SDK
|
|
# if: steps.filter.outputs.busypay == 'true'
|
|
# uses: subosito/flutter-action@v2
|
|
# with:
|
|
# flutter-version: '3.0.2'
|
|
# channel: 'stable'
|
|
# - name: Lint BusyPay Flutter Files
|
|
# if: steps.filter.outputs.busypay == 'true'
|
|
# run: |
|
|
# echo 'Analyzing flutter files'
|
|
# cd busypay
|
|
# flutter pub get
|
|
# cd ..
|
|
# flutter analyze --no-fatal-infos --no-fatal-warnings ${{ steps.filter.outputs.busypay_files }} > busypay_lint.txt
|
|
# export BUSYPAY=$(cat busypay_lint.txt | grep -o 'No issues found' | wc -l | xargs)
|
|
# if [[ $BUSYPAY == 0 ]]; then echo 'Flutter Linting failed with' && cat busypay_lint.txt | tail -n 15 && echo '...' && exit 1; fi
|
|
|
|
# lint-api:
|
|
# runs-on: ubuntu-latest
|
|
# outputs:
|
|
# output1: ${{ steps.filter.outputs.workflows }}
|
|
# name: 'Lint API'
|
|
# steps:
|
|
# - uses: actions/checkout@v3
|
|
# - uses: dorny/paths-filter@v2
|
|
# id: filter
|
|
# with:
|
|
# list-files: shell
|
|
# filters: |
|
|
# api:
|
|
# - added|modified: 'api/**/*.rb'
|
|
# # Run only if .rb files in api were modified
|
|
# - name: Install Ruby
|
|
# if: steps.filter.outputs.api == 'true'
|
|
# uses: ruby/setup-ruby@v1
|
|
# with:
|
|
# ruby-version: '2.6'
|
|
# #bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
# working-directory: 'api/'
|
|
# - name: Lint API
|
|
# if: steps.filter.outputs.api == 'true' # sudo apt-get -yqq install libpq-dev
|
|
# run: |
|
|
# echo 'Installing rubocop gem'
|
|
# export PATH=$RUBY_PATH:$PATH
|
|
# gem install rubocop
|
|
# rubocop -v
|
|
# rubocop --fail-level=E ${{ steps.filter.outputs.api_files }} > api_lint.txt
|
|
# export API=$(cat api_lint.txt | grep -o 'no offenses' | wc -l | xargs)
|
|
# if [[ $API == 0 ]]; then echo 'API Linting failed with' && cat api_lint.txt | tail -n 15 && echo '...' && exit 1; fi
|
|
# env:
|
|
# RUBY_PATH: /home/runner/.gem/ruby/2.6.0/bin |