11name : Тестирование
22
3+ # Reusable autumn-library/workflows/test.yml ставит oneunit через `opm install -l oneunit`
4+ # (локальная установка). При этом транзитивные deps oneunit (annotations и др.)
5+ # не разворачиваются в `oscript_modules/oneunit/oscript_modules/`, и CLI падает с
6+ # «Библиотека не найдена: annotations». Поэтому workflow прописан вручную:
7+ # oneunit ставится глобально (`opm install oneunit`), а локальные dev-зависимости
8+ # пакета (asserts, 1commands) — отдельно через `opm install -l --dev`.
9+ #
10+ # oscript_version: 'default' (1.9.2 из packagedef) намеренно не используется —
11+ # oneunit 0.3.x требует engine >= 2.0.0-rc.7. 1.9.2 остаётся минимумом для
12+ # рантайма самого пакета, но dev-окружение нуждается в 2.0+.
13+
314on :
415 push :
516 pull_request :
@@ -10,18 +21,38 @@ jobs:
1021 strategy :
1122 fail-fast : false
1223 matrix :
13- oscript_version : ['default', 'stable', 'dev']
14- uses : autumn-library/workflows/.github/workflows/test.yml@v1
15- with :
16- oscript_version : ${{ matrix.oscript_version }}
17- # Reusable test.yml по умолчанию запускает `oscript ./tasks/test.os`
18- # (test_engine=1testrunner). Наш tasks/test.os вызывает `oneunit` как
19- # внешнюю команду — она недоступна, если oneunit поставлен в локальный
20- # oscript_modules (как делает workflow через `opm install -l --dev`).
21- # Переключаемся на встроенный движок workflow: он сам вызывает
22- # ./oscript_modules/bin/oneunit с нужными путями.
23- test_engine : oneunit
24- test_dir_paths : tests/unit,tests/commonmark
25- # CommonMark-сьют — 652 теста; tree-режим даёт мегабайты вывода и
26- # засоряет лог CI. summary компактнее и не теряет статус по упавшим.
27- test_log_mod : summary
24+ os : [ubuntu-latest, windows-latest, macos-latest]
25+ oscript_version : [stable, dev]
26+ runs-on : ${{ matrix.os }}
27+ env :
28+ LANG : ru_RU.UTF-8
29+ LC_ALL : ru_RU.UTF-8
30+
31+ steps :
32+ - name : Актуализация
33+ uses : actions/checkout@v4
34+
35+ - name : Установка локали (Windows)
36+ if : startsWith(matrix.os, 'windows')
37+ run : |
38+ powershell -Command "Set-WinSystemLocale -SystemLocale 'ru_RU'"
39+ powershell -Command "Set-Culture 'ru_RU'"
40+
41+ - name : Установка OneScript
42+ uses : otymko/setup-onescript@v1.5.1
43+ with :
44+ version : ${{ matrix.oscript_version }}
45+
46+ - name : Установка opm и oneunit (глобально)
47+ shell : bash
48+ run : |
49+ opm install opm
50+ opm install oneunit
51+
52+ - name : Установка dev-зависимостей пакета (локально)
53+ shell : bash
54+ run : opm install -l --dev
55+
56+ - name : Тестирование
57+ shell : bash
58+ run : oneunit e -d tests/unit,tests/commonmark --timeout 0 --mode summary
0 commit comments