diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..f7dc794e --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,94 @@ +name: Continuous integration + +on: [push] + +jobs: + floor-annotation: + runs-on: ubuntu-latest + timeout-minutes: 10 + + container: + image: google/dart:latest + + steps: + - name: Check out code + uses: actions/checkout@v2 + + - name: Install dependencies + working-directory: floor_annotation + run: pub get + + - name: Analyze + working-directory: floor_annotation + run: dartanalyzer --fatal-infos --fatal-warnings . + + - name: Format + working-directory: floor_annotation + run: dartfmt -n --set-exit-if-changed . + + floor-generator: + runs-on: ubuntu-latest + timeout-minutes: 10 + + container: + image: google/dart:latest + + steps: + - name: Check out code + uses: actions/checkout@v2 + + - name: Install dependencies + working-directory: floor_generator + run: pub get + + - name: Analyze + working-directory: floor_generator + run: dartanalyzer --fatal-infos --fatal-warnings . + + - name: Format + working-directory: floor_generator + run: dartfmt -n --set-exit-if-changed . + + - name: Run tests + if: + working-directory: floor_generator + run: pub run test_cov + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v1 + with: + token: ${{ secrets.CODECOV_TOKEN }} + flags: floor_generator + file: ./floor_generator/coverage/lcov.info + + floor: + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Check out code + uses: actions/checkout@v2 + + - name: Install Flutter + uses: subosito/flutter-action@v1 + with: + channel: stable + + - name: Install dependencies + run: flutter packages get + working-directory: floor + + - name: Analyze + run: flutter analyze + working-directory: floor + + - name: Run tests + run: flutter test --coverage --coverage-path coverage/lcov.info + working-directory: floor + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v1 + with: + token: ${{ secrets.CODECOV_TOKEN }} + flags: floor + file: ./floor/coverage/lcov.info diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0f8074a2..00000000 --- a/.travis.yml +++ /dev/null @@ -1,87 +0,0 @@ -before_install: - - chmod +x tool/travis.sh - -jobs: - include: - - stage: analyze - language: dart - name: "floor_annotation - dartfmt" - script: ./tool/travis.sh dartfmt - env: PKG="floor_annotation" - dart: stable - - - stage: analyze - language: dart - name: "floor_annotation - dartanalyzer" - script: ./tool/travis.sh dartanalyzer - env: PKG="floor_annotation" - dart: stable - - - stage: analyze - language: dart - name: "floor_generator - dartfmt" - script: ./tool/travis.sh dartfmt - env: PKG="floor_generator" - dart: stable - - - stage: analyze - language: dart - name: "floor_generator - dartanalyzer" - script: ./tool/travis.sh dartanalyzer - env: PKG="floor_generator" - dart: stable - - - stage: analyze - language: generic - name: "floor - flutter analyze" - env: PKG="floor" - os: linux - before_script: - - sudo apt-get install -y --no-install-recommends lib32stdc++6 libstdc++6 > /dev/null - # install pre-compiled flutter - - FLUTTER_CHANNEL=stable - - FLUTTER_VERSION=1.12.13+hotfix.5-${FLUTTER_CHANNEL} - - wget --quiet --output-document=flutter.tar.xz https://storage.googleapis.com/flutter_infra/releases/${FLUTTER_CHANNEL}/linux/flutter_linux_v${FLUTTER_VERSION}.tar.xz && tar xf flutter.tar.xz > /dev/null && rm flutter.tar.xz - - export PATH="$PATH":"$HOME/.pub-cache/bin" - - export PATH=$PWD/flutter/bin:$PWD/flutter/bin/cache/dart-sdk/bin:$PATH - - flutter doctor -v - script: - - ./tool/travis.sh flutter_analyze - - - stage: unit_test - language: dart - name: "floor_generator - pub run test" - before_script: - - pub global activate coverage - script: ./tool/travis.sh test - after_success: - - bash <(curl -s https://codecov.io/bash) -f lcov.info - env: PKG="floor_generator" - dart: stable - - - stage: unit_test - language: generic - name: "floor - flutter test" - env: PKG="floor" - os: linux - before_script: - - sudo apt-get install -y --no-install-recommends lib32stdc++6 libstdc++6 > /dev/null - # install pre-compiled flutter - - FLUTTER_CHANNEL=stable - - FLUTTER_VERSION=1.12.13+hotfix.5-${FLUTTER_CHANNEL} - - wget --quiet --output-document=flutter.tar.xz https://storage.googleapis.com/flutter_infra/releases/${FLUTTER_CHANNEL}/linux/flutter_linux_v${FLUTTER_VERSION}.tar.xz && tar xf flutter.tar.xz > /dev/null && rm flutter.tar.xz - - export PATH="$PATH":"$HOME/.pub-cache/bin" - - export PATH=$PWD/flutter/bin:$PWD/flutter/bin/cache/dart-sdk/bin:$PATH - - flutter doctor -v - - pub global activate coverage - script: ./tool/travis.sh flutter_test - after_success: - - bash <(curl -s https://codecov.io/bash) -f lcov.info - -stages: - - analyze - - unit_test - -cache: - directories: - - $HOME/.pub-cache diff --git a/tool/travis.sh b/tool/travis.sh deleted file mode 100644 index 65a2b219..00000000 --- a/tool/travis.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/bash - -if [ -z "$PKG" ]; then - echo -e '\033[31mPKG environment variable must be set!\033[0m' - exit 1 -fi - -if [ "$#" == "0" ]; then - echo -e '\033[31mAt least one task argument must be provided!\033[0m' - exit 1 -fi - -cd $PKG; - -EXIT_CODE=0 - -escapedPath="$(echo $PKG | sed 's/\//\\\//g')" - -while (( "$#" )); do - TASK=$1 - case $TASK in - dartanalyzer) echo - pub upgrade || exit $? - echo -e '\033[1mTASK: dartanalyzer\033[22m' - echo -e 'dartanalyzer --fatal-infos --fatal-warnings .' - dartanalyzer --fatal-infos --fatal-warnings . || EXIT_CODE=$? - ;; - dartfmt) echo - pub upgrade || exit $? - echo -e '\033[1mTASK: dartfmt\033[22m' - echo -e 'dartfmt -n --set-exit-if-changed .' - dartfmt -n --set-exit-if-changed . || EXIT_CODE=$? - ;; - test) echo - pub upgrade || exit $? - echo -e '\033[1mTASK: test\033[22m' - echo -e 'pub run test' - pub run test_cov || EXIT_CODE=$? - if [ -d "coverage" ]; then - sed "s/^SF:lib/SF:$escapedPath\/lib/g" coverage/lcov.info >> "../lcov.info" - rm -rf "coverage" - fi - ;; - flutter_analyze) echo - echo -e '\033[1mTASK: flutter analyze\033[22m' - echo -e 'flutter analyze' - flutter analyze || EXIT_CODE=$? - ;; - flutter_test) echo - flutter packages get || exit $? - echo -e '\033[1mTASK: flutter test\033[22m' - echo -e 'flutter test' - flutter test --coverage || EXIT_CODE=$? - if [ -d "coverage" ]; then - sed "s/^SF:lib/SF:$escapedPath\/lib/g" coverage/lcov.info >> "../lcov.info" - rm -rf "coverage" - fi - ;; - *) echo -e "\033[31mNot expecting TASK '${TASK}'. Error!\033[0m" - EXIT_CODE=1 - ;; - esac - - shift -done - -exit $EXIT_CODE