Release 6.0.0 (#140) #345
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: unit tests | |
on: | |
push: | |
branches-ignore: | |
- main | |
jobs: | |
analyze: | |
name: Analyze | |
runs-on: ubuntu-latest | |
env: | |
TEST_TOKEN: ${{ secrets.TEST_TOKEN }} | |
steps: | |
- name: Setup Dart Action | |
uses: dart-lang/setup-dart@v1 | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: ~/.pub-cache | |
key: ${{ runner.os }}-pubspec-${{ hashFiles('**/pubspec.lock') }} | |
restore-keys: | | |
${{ runner.os }}-pubspec- | |
- name: Install dependencies | |
run: dart pub get | |
- name: Analyze project source | |
run: dart analyze | |
format: | |
name: Format | |
runs-on: ubuntu-latest | |
env: | |
TEST_TOKEN: ${{ secrets.TEST_TOKEN }} | |
steps: | |
- name: Setup Dart Action | |
uses: dart-lang/setup-dart@v1 | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: ~/.pub-cache | |
key: ${{ runner.os }}-pubspec-${{ hashFiles('**/pubspec.lock') }} | |
restore-keys: | | |
${{ runner.os }}-pubspec- | |
- name: Install dependencies | |
run: dart pub get | |
- name: Format | |
run: dart format --set-exit-if-changed -l 100 ./lib | |
tests: | |
needs: [ format, analyze ] | |
name: Tests | |
runs-on: ubuntu-latest | |
env: | |
TEST_TOKEN: ${{ secrets.TEST_TOKEN }} | |
steps: | |
- name: Setup Dart Action | |
uses: dart-lang/setup-dart@v1 | |
- name: Install lcov | |
run: sudo apt-get install -y lcov | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: ~/.pub-cache | |
key: ${{ runner.os }}-pubspec-${{ hashFiles('**/pubspec.lock') }} | |
restore-keys: | | |
${{ runner.os }}-pubspec- | |
- name: Install dependencies | |
run: dart pub get | |
- name: Unit tests | |
run: dart run test --coverage="coverage" test/unit/** | |
- name: Integration tests | |
run: dart run test --coverage="coverage" test/integration/** | |
- name: Format coverage | |
run: dart run coverage:format_coverage --lcov --in=coverage --out=coverage/coverage.lcov --packages=.dart_tool/package_config.json --report-on=lib | |
- name: Generate coverage | |
run: genhtml coverage/coverage.lcov -o coverage/coverage_gen | |
- name: Extract branch name | |
shell: bash | |
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" | |
id: extract_branch | |
- name: Deploy code coverage | |
uses: easingthemes/[email protected] | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.DEPLOY_SSH_SERVER_KEY }} | |
ARGS: '-rltDzvO --rsync-path="mkdir -p ${{ secrets.DEPLOY_REMOTE_TARGET }}/coverage/nyxx_commands/${{ steps.extract_branch.outputs.branch }}/ && rsync"' | |
SOURCE: "coverage/coverage_gen/" | |
REMOTE_HOST: ${{ secrets.DEPLOY_REMOTE_HOST }} | |
REMOTE_USER: ${{ secrets.DEPLOY_REMOTE_USER }} | |
TARGET: "${{ secrets.DEPLOY_REMOTE_TARGET }}/coverage/nyxx_commands/${{ steps.extract_branch.outputs.branch }}/" |