Skip to content

build(deps): bump actions/download-artifact from 3 to 4 (#87) #137

build(deps): bump actions/download-artifact from 3 to 4 (#87)

build(deps): bump actions/download-artifact from 3 to 4 (#87) #137

Workflow file for this run

# CI workflow
name: Dart CI
# Triggers the workflow on push or pull request events but only for the `main` branch
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
min-conditions:
name: Check spelling, format and analyze codebase
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Check spelling
uses: streetsidesoftware/cspell-action@v4
with:
config: ./.cspell/cspell.yaml
- name: Install dart
uses: dart-lang/setup-dart@v1
- name: Install melos
run: dart pub global activate melos 3.1.1
- name: Initialize melos
run: melos bs
- name: Format and analyze
run: melos run FA:ci
src-gen:
name: Ensure up-to-date source generation
runs-on: ubuntu-latest
needs: min-conditions
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Install dart
uses: dart-lang/setup-dart@v1
- name: Install melos
run: dart pub global activate melos 3.1.1
- name: Initialize melos
run: melos bs
- name: Verify up-to-date generated source files
working-directory: packages/coverde_cli/
run: dart test --run-skipped -t ci-only test/ensure_up_to_date_src_gen_test.dart
test:
name: Test implementation
needs: src-gen
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Install dart
uses: dart-lang/setup-dart@v1
- name: Install melos
run: dart pub global activate melos 3.1.1
- name: Install coverage
run: dart pub global activate coverage 1.6.3
- name: Initialize melos
run: melos bs
- name: Run tests, merge tests if needed, and check 100% coverage
run: melos run TMC:ci
- name: Update coverage trace file as artifact
uses: actions/upload-artifact@v3
if: matrix.os == 'ubuntu-latest'
with:
name: filtered.lcov.info
path: ./coverage/filtered.lcov.info
retention-days: 1
codecov:
name: Publish coverage results
needs: test
runs-on: ubuntu-latest
steps:
- name: Download coverage trace file artifacts
uses: actions/download-artifact@v4
with:
name: filtered.lcov.info
- name: Upload coverage data to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: filtered.lcov.info
fail_ci_if_error: true
verbose: true
pub-score:
name: Check pub score
needs: test
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Install dart
uses: dart-lang/setup-dart@v1
- name: Install melos
run: dart pub global activate melos 3.1.1
- name: Initialize melos
run: melos bs
- name: Verify pub score
run: melos run P:ci