Github CI与TypeScript和Jest

菲利普·范纳罗

在本地运行tsctsc -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/",
}

我在此设置中犯了一个错误吗?我错过了什么?是我的项目的完整设置。

菲利普·范纳罗

正如@jonrsharpe的评论中所提到的那样,整个问题可以用一个错字来概括。我基本上忘记了将代码签出到CI环境中。因此,我必须将此添加到steps

...
steps:
  - name: Checking out the Project's Code
    uses: actions/checkout@v2
  ...

Jon指出的另一个问题是缺少该package-lock.json文件,该文件的目的是使项目中安装的软件包与CI VM中安装的软件包保持一致-使用npm ci而不是使用npm i

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章