Github CI с TypeScript и Jest
Локально, работает
tsc
или же
tsc -w
параллельно с
npm t -- --watch
все работает, но попытки воспроизвести то, что у меня есть, в Github CI не работают. По какой-то причине я даже не могу распечатать папки с
ls
. Тем не менее установка TypeScript и Jest кажется успешной.
Когда он запускается внутри Github CI, я просто получаю журнал всех возможных команд от
tsc
прямо под
Run tsc
и
Error: Process completed with exit code 1.
.
Это моя текущая настройка внутри Github CI:
...
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Installing TypeScript
run: npm i -D typescript
- name: Installing Jest
run: npm i -D jest
- name: Compiling TypeScript Code
run: tsc
- name: Running Tests
run: npm t
А это мой
package.json
:
{
...
"main": "dist/content.js",
"scripts": {
"test": "jest",
"testwatch": "jest --watchAll"
},
"devDependencies": {
"@types/jest": "^26.0.15",
"jest": "^26.6.2",
"ts-jest": "^26.4.3",
"typescript": "^4.0.5"
}
}
И единственное, что я считаю актуальным в моем
tsconfig.json
находятся:
{
"outDir": "./dist/",
"rootDir": "./lib/",
}
Я сделал ошибку в этой настройке? Что я пропустил? Вот полная настройка моего проекта.
1 ответ
Как упоминалось в комментариях @jonrsharpe, всю проблему можно резюмировать чем-то похожим на опечатку. Я практически забыл проверить код в среде CI. Итак, мне пришлось бы добавить это в начало
steps
:
...
steps:
- name: Checking out the Project's Code
uses: actions/checkout@v2
...
Другой проблемой, на которую указал Джон, было отсутствие
package-lock.json
файл, который будет служить цели согласования пакетов, установленных в проекте, с пакетами, установленными в виртуальной машине CI - используйте
npm ci
вместо
npm i
тогда.