Skip to content

Commit

Permalink
Mod run tests as embedded package on CI
Browse files Browse the repository at this point in the history
In Linux editor, there is a problem that assets in local packages cannot be found with `AssetDatabase.FindAssets`.
As a workaround, I have made it into an embedded package.
  • Loading branch information
nowsprinting committed Apr 28, 2024
1 parent 772682a commit c553674
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 18 deletions.
22 changes: 11 additions & 11 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,6 @@ jobs:
octocov: true

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: false
lfs: false

- name: Crete project for tests
uses: nowsprinting/create-unity-project-action@v3
with:
Expand All @@ -60,17 +54,21 @@ jobs:
restore-keys: |
Library-
- name: Set package name
run: |
echo "package_name=$(grep -o -E '"name": "(.+)"' ./package.json | cut -d ' ' -f2)" >> "$GITHUB_ENV"
- name: Checkout repository as embedded package
uses: actions/checkout@v4
with:
submodules: false
lfs: false
path: ${{ env.CREATED_PROJECT_PATH }}/Packages/com.nowsprinting.test-helper
# In Linux editor, there is a problem that assets in local packages cannot be found with `AssetDatabase.FindAssets`.
# As a workaround, I have made it into an embedded package.

- name: Install dependencies
run: |
npm install -g openupm-cli
openupm add -f com.unity.test-framework
openupm add -f com.unity.testtools.codecoverage
openupm add -f com.cysharp.unitask
openupm add -ft "${{ env.package_name }}"@file:../../
working-directory: ${{ env.CREATED_PROJECT_PATH }}

- name: Set coverage assembly filters
Expand Down Expand Up @@ -99,7 +97,9 @@ jobs:
id: test

- name: Set coverage path for octocov
run: sed -i -r 's/\.\/Logs/${{ steps.test.outputs.coveragePath }}/' .octocov.yml
run: |
mv ${{ env.CREATED_PROJECT_PATH }}/Packages/com.nowsprinting.test-helper/.octocov.yml .
sed -i -r 's/\.\/UnityProject~\/Logs/${{ steps.test.outputs.coveragePath }}/' .octocov.yml
if: ${{ matrix.octocov }}

- name: Run octocov
Expand Down
12 changes: 5 additions & 7 deletions .octocov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,14 @@
coverage:
if: true
paths:
- ./Logs/Report/lcov.info # Warning: This path is replace by regex in test.yml
- ./UnityProject~/Logs/Report/lcov.info # Warning: This path is replace by regex in test.yml
codeToTestRatio:
code:
- 'Editor/**/*.cs'
- 'Runtime/**/*.cs'
- 'Samples~/**/*.cs'
- '!Samples~/**/Tests/**/*.cs'
- '**/*.cs'
- '!**/Tests/**'
- '!**/UnityProject~/**'
test:
- 'Tests/**/*.cs'
- 'Samples~/**/Tests/**/*.cs'
- '**/Tests/**/*.cs'
testExecutionTime:
if: true
diff:
Expand Down

0 comments on commit c553674

Please sign in to comment.