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 a4687ca commit 3e84e8f
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2023 Koji Hasegawa.
# Copyright (c) 2023-2024 Koji Hasegawa.
# This software is released under the MIT License.

name: Test
Expand All @@ -18,6 +18,9 @@ on:
- '.github/**'
- '!.github/workflows/test.yml'

env:
PACKAGE_NAME: com.nowsprinting.test-helper

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
Expand All @@ -42,12 +45,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 +57,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/${{ env.PACKAGE_NAME }}
# 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 +100,9 @@ jobs:
id: test

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

- name: Run octocov
Expand Down

0 comments on commit 3e84e8f

Please sign in to comment.