Skip to content

Commit

Permalink
refactor: Update lcov filtering in Makefile and SpinifyTransport$WS$P…
Browse files Browse the repository at this point in the history
…B$VM
  • Loading branch information
PlugFox committed Jul 19, 2024
1 parent b62e191 commit 703ab18
Show file tree
Hide file tree
Showing 2 changed files with 97 additions and 28 deletions.
24 changes: 16 additions & 8 deletions .github/workflows/checkout.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,22 +29,30 @@ jobs:
container:
image: dart:stable
env:
cache-name: cache-spinify-package
pub-cache-name: pub
timeout-minutes: 10
steps:
- name: 🚂 Get latest code
id: checkout
uses: actions/checkout@v4
with:
sparse-checkout: |
.github
pubspec.yaml
lib
test
analysis_options.yaml
CHANGELOG.md
- name: 📤 Restore pub modules
id: cache-spinify-package-restore
- name: 📤 Restore Pub modules
id: cache-pub-restore
uses: actions/cache/restore@v4
with:
path: |
$PWD/.pub_cache/
key: ${{ runner.os }}-spinify-${{ env.cache-name }}-${{ hashFiles('**/pubspec.yaml') }}
key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('**/pubspec.yaml') }}

- name: 🗄️ Export pub cache directory
- name: 🗄️ Export Pub cache directory
id: export-pub-cache
timeout-minutes: 1
run: |
Expand All @@ -56,13 +64,13 @@ jobs:
timeout-minutes: 1
run: dart pub get --no-example

- name: 📥 Save pub modules
id: cache-spinify-package-save
- name: 📥 Save Pub modules
id: cache-pub-save
uses: actions/cache/save@v4
with:
path: |
$PWD/.pub_cache/
key: ${{ runner.os }}-spinify-${{ env.cache-name }}-${{ hashFiles('**/pubspec.yaml') }}
key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('**/pubspec.yaml') }}

- name: 🔎 Check format
id: check-format
Expand Down
101 changes: 81 additions & 20 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,35 +36,96 @@ on:
- "pubspec.yaml"

jobs:
build-echo:
name: "Build Echo server"
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
container:
image: golang:1.22
env:
echo-cache-name: echo
timeout-minutes: 5
steps:
- name: 🚂 Get latest code
id: checkout
uses: actions/checkout@v4
with:
sparse-checkout: |
.github
tool/echo
- name: 📤 Restore Go echo server
id: cache-echo-restore
uses: actions/cache/restore@v4
with:
path: |
~/build/bin/echo
key: ${{ runner.os }}-spinify-${{ env.echo-cache-name }}-${{ hashFiles('tool/echo/echo.go') }}

- name: 🦫 Build Go echo server
id: build-echo
if: steps.cache-echo-restore.outputs.cache-hit != 'true'
run: |
mkdir -p ~/go/bin
go build -o ~/go/bin/echo tool/echo/echo.go
- name: 📥 Save Go echo server
id: cache-echo-save
if: steps.cache-echo-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: |
~/build/bin/echo
key: ${{ runner.os }}-spinify-${{ env.echo-cache-name }}-${{ hashFiles('tool/echo/echo.go') }}

- name: 💾 Upload Go echo server
id: upload-echo-server
uses: actions/upload-artifact@v4
with:
name: echo-server
path: ~/build/bin/echo

tests:
name: "Tests"
runs-on: ubuntu-latest
#runs-on: ${{ matrix.os }}
#strategy:
# matrix:
# os: [ubuntu-latest, macos-latest, windows-latest]
needs: build-echo
defaults:
run:
working-directory: ./
container:
image: dart:stable
env:
cache-name: cache-spinify-package
pub-cache-name: pub
timeout-minutes: 15
steps:
- name: 🚂 Get latest code
id: checkout
uses: actions/checkout@v4
with:
sparse-checkout: |
.github
pubspec.yaml
lib
test
analysis_options.yaml
- name: 📤 Restore pub modules
id: cache-spinify-package-restore
- name: 📂 Download Echo server
uses: actions/download-artifact@v4
with:
name: echo-server
path: ~/build/bin/echo

- name: 📤 Restore Pub modules
id: cache-pub-restore
uses: actions/cache/restore@v4
with:
path: |
$PWD/.pub_cache/
key: ${{ runner.os }}-spinify-${{ env.cache-name }}-${{ hashFiles('**/pubspec.yaml') }}
key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('**/pubspec.yaml') }}

- name: 🗄️ Export pub cache directory
- name: 🗄️ Export Pub cache directory
id: export-pub-cache
timeout-minutes: 1
run: |
Expand All @@ -76,13 +137,13 @@ jobs:
timeout-minutes: 1
run: dart pub get --no-example

- name: 📥 Save pub modules
id: cache-spinify-package-save
- name: 📥 Save Pub modules
id: cache-pub-save
uses: actions/cache/save@v4
with:
path: |
$PWD/.pub_cache/
key: ${{ runner.os }}-spinify-${{ env.cache-name }}-${{ hashFiles('**/pubspec.yaml') }}
key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('**/pubspec.yaml') }}

- name: 🧪 Run tests
id: run-tests
Expand All @@ -95,14 +156,14 @@ jobs:
--timeout=10m --concurrency=12 --color \
test/unit_test.dart
- name: 🔍 Format coverage
id: format-coverage
timeout-minutes: 1
run: |
mv coverage/lcov.info coverage/lcov.base.info
lcov -r coverage/lcov.base.info -o coverage/lcov.base.info "lib/src/protobuf/client.*.dart" "lib/**/*.g.dart"
mv coverage/lcov.base.info coverage/lcov.info
lcov --list coverage/lcov.info
#- name: 🔍 Format coverage
# id: format-coverage
# timeout-minutes: 1
# run: |
# mv coverage/lcov.info coverage/lcov.base.info
# lcov -r coverage/lcov.base.info -o coverage/lcov.base.info "lib/src/protobuf/client.*.dart" "lib/**/*.g.dart"
# mv coverage/lcov.base.info coverage/lcov.info
# lcov --list coverage/lcov.info

- name: 📥 Upload coverage to Codecov
id: upload-coverage
Expand Down

0 comments on commit 703ab18

Please sign in to comment.