Files
MaaAssistantArknights/.github/workflows/smoke-testing.yml
Constrat cb4bb17fa9 perf: remove resource from smoke testing
use the default location, do not duplicate
2025-09-10 16:54:21 +02:00

130 lines
3.8 KiB
YAML

name: smoke-testing
on:
push:
paths:
- "3rdparty/include/**"
- "include/**"
- "src/Cpp/**"
- "src/MaaCore/**"
- "resource/**"
- "!**/*.md"
- "cmake/**"
- "CMakeLists.txt"
- "tools/maadeps-download.py"
pull_request:
paths:
- "3rdparty/include/**"
- "include/**"
- "src/Cpp/**"
- "src/MaaCore/**"
- "resource/**"
- "!**/*.md"
- "cmake/**"
- "CMakeLists.txt"
- "tools/maadeps-download.py"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
smoke-testing:
# Prevent duplicate runs on organization branches with PRs
if: github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name !=
github.event.pull_request.base.repo.full_name
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
with:
show-progress: false
# - name: Generate cache key
# id: cache_key
# run: |
# Write-Output "key=Smoke-testing-${{ hashFiles('src/Cpp/**', 'src/MaaCore/**', '3rdparty/include/**', 'include/**', 'cmake/**', 'CMakeLists.txt', 'tools/maadeps-download.py', 'tools/linux-toolchain-download.py') }}" >> $env:GITHUB_OUTPUT
# - name: Restore cache smoke-testing
# id: cache-exe
# uses: actions/cache/restore@v4
# with:
# key: ${{ steps.cache_key.outputs.key }}
# path: |
# ./install/smoke_test.exe
# ./install/fastdeploy_ppocr.dll
# ./install/MaaCore.dll
# ./install/onnxruntime_maa.dll
# ./install/opencv_world4d_maa.dll
- name: Fetch submodules
# if: steps.cache-exe.outputs.cache-hit != 'true'
run: |
git submodule update --init --depth 1 3rdparty/EmulatorExtras
- name: Cache MaaDeps
# if: steps.cache-exe.outputs.cache-hit != 'true'
id: cache-maadeps
uses: actions/cache@v4
with:
path: ./MaaDeps
key: ${{ runner.os }}-x64-maadeps-${{ hashFiles('tools/maadeps-download.py', 'tools/linux-toolchain-download.py') }}
- name: Bootstrap MaaDeps
# steps.cache-exe.outputs.cache-hit != 'true' &&
if: steps.cache-maadeps.outputs.cache-hit != 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
python3 tools/maadeps-download.py x64-linux
python3 tools/linux-toolchain-download.py x64
- name: Install llvm-20
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 20
- name: Config cmake
run: |
mkdir -p build
cmake -B build \
-DCMAKE_BUILD_TYPE=Debug \
-DMAADEPS_TRIPLET='maa-x64-linux' \
-DBUILD_SMOKE_TEST=ON \
-DCMAKE_TOOLCHAIN_FILE=cmake/linux/maa-x64-linux-toolchain.cmake
- name: Build
run: |
cmake --build build --config Debug --parallel $(nproc)
- name: Install
run: |
mkdir -p install
cmake --install build --prefix install --config Debug
- name: Run tests
run: |
./tools/SmokeTesting/run_tests.sh
# - name: Save cache smoke-testing
# if: steps.cache-exe.outputs.cache-hit != 'true'
# uses: actions/cache/save@v4
# with:
# key: ${{ steps.cache_key.outputs.key }}
# path: |
# ./install/smoke_test.exe
# ./install/fastdeploy_ppocr.dll
# ./install/MaaCore.dll
# ./install/onnxruntime_maa.dll
# ./install/opencv_world4d_maa.dll
- name: Upload logs
if: always()
uses: actions/upload-artifact@v4
with:
name: logs
path: ./install/debug