diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ec76aaf..6ccf43c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,104 +10,57 @@ on: paths: ['**.dart', '**.yaml', '**.yml'] jobs: - coverage: - if: github.repository == 'bitanon/hashlib' + test: strategy: matrix: - os: [ubuntu-latest] - sdk: ['stable'] - runs-on: ${{ matrix.os }} + sdk: ['stable', '2.14', 'beta'] + platform: ['vm', 'node'] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: dart-lang/setup-dart@v1 with: sdk: ${{ matrix.sdk }} - - name: 'Install global packages' + - run: dart pub get + - run: dart test -p ${{ matrix.platform }} + + pana: + if: github.repository == 'bitanon/hashlib' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dart-lang/setup-dart@v1 + + - run: dart pub global activate pana + - run: pana --exit-code-threshold 0 + + coverage: + if: github.repository == 'bitanon/hashlib' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dart-lang/setup-dart@v1 + + - name: Install global packages run: | + dart pub global activate pana dart pub global activate coverage dart pub global activate cobertura dart pub global activate junitreport - - name: Run tests with coverage + - name: Generate coverage run: bash ./scripts/coverage.sh - - name: Upload results to Codecov + - name: Upload coverage uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} file: ./coverage/cobertura.xml - - name: Upload test results to Codecov + - name: Upload test results if: ${{ !cancelled() }} uses: codecov/test-results-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} file: ./coverage/junit.xml - - test-on-stable: - strategy: - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - sdk: ['stable'] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - - uses: dart-lang/setup-dart@v1 - with: - sdk: ${{ matrix.sdk }} - - - name: Install dependencies - run: dart pub get - - - name: Verify formatting - run: dart format --output=none --set-exit-if-changed . - - - name: Analyze project source - run: dart analyze --fatal-infos - - - name: Run tests - run: dart test - - test-on-legacy: - strategy: - matrix: - os: [ubuntu-latest, windows-latest] - sdk: ['2.14'] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - - uses: dart-lang/setup-dart@v1 - with: - sdk: ${{ matrix.sdk }} - - - name: Run tests - run: dart test - - test-on-beta: - strategy: - matrix: - os: [ubuntu-latest] - sdk: ['beta'] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - - uses: dart-lang/setup-dart@v1 - with: - sdk: ${{ matrix.sdk }} - - - name: Install dependencies - run: dart pub get - - - name: Verify formatting - run: dart format --output=none --set-exit-if-changed . - - - name: Analyze project source - run: dart analyze --fatal-infos - - - name: Run tests - run: dart test