标签: github-actions

关于 GitHub 操作 / GitHub 拉取请求的 HTML 报告

是否有可能在 GitHub 拉取请求检查中显示漂亮的 html 报告(来自 Jest、Mocha、Cypress、测试覆盖率等测试运行程序)?

github report pull-request github-actions

11
推荐指数
2
解决办法
1084
查看次数

是否可以不为自述文件更新运行 github 操作?

我对 Github 操作有以下操作,每次 PR 合并到 master 时,这些操作会自动打包并将包部署到 nuget.org。

name: Nuget Deploy

on:
  push:
    branches: [ master ]

jobs:
  build:

    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v2
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 3.1.101
    - name: Generate Nuget package
      run: dotnet pack
      working-directory: DateOverride
    - name: Deploy to nuget.org
      run: dotnet nuget push *.nupkg -k ${{ secrets.NUGET_DEPLOY_KEY }} -s https://api.nuget.org/v3/index.json
      working-directory: DateOverride/DateOverride/bin/Debug
Run Code Online (Sandbox Code Playgroud)

但是如果我的更新只是README.md更新,我希望它不会运行,是否可以这样做?

github github-actions

11
推荐指数
1
解决办法
2777
查看次数

仅当推送的文件位于特定文件夹中时,如何运行 github 操作

我有一个看起来像这样的文件夹结构。

- folder1
  - file1
  - *other files*
- folder2
  - file1
  - *other files*
- .gitignore
- package.json
- *other files*
Run Code Online (Sandbox Code Playgroud)

我想在推送时运行我的 github 操作,仅当任何更改/推送的文件位于folder1目录/文件夹中时。

continuous-integration github github-actions

11
推荐指数
5
解决办法
3500
查看次数

未定义 Jest 模块

我正在编写我的第一个包,我只是将它转换为与 TypeScript 兼容,但这在某种程度上影响了我的 GitHub 工作流程。当我在本地使用 Jest 运行我的测试时,它们工作得很好。当我的测试在 GitHub 上运行时,它成功了10.x,但没有12.x14.x,给我以下错误:

(node:2397) ExperimentalWarning: The ESM module loader is experimental.
ReferenceError: module is not defined
    at file:///home/runner/work/enhancedMathJS/enhancedMathJS/jest.config.js:1:1
    at ModuleJob.run (internal/modules/esm/module_job.js:146:37)
    at async Loader.import (internal/modules/esm/loader.js:182:24)
    at async readConfigFileAndSetRootDir (/home/runner/work/enhancedMathJS/enhancedMathJS/node_modules/jest-config/build/readConfigFileAndSetRootDir.js:126:32)
    at async readConfig (/home/runner/work/enhancedMathJS/enhancedMathJS/node_modules/jest-config/build/index.js:217:18)
    at async readConfigs (/home/runner/work/enhancedMathJS/enhancedMathJS/node_modules/jest-config/build/index.js:406:26)
    at async runCLI (/home/runner/work/enhancedMathJS/enhancedMathJS/node_modules/@jest/core/build/cli/index.js:230:59)
    at async Object.run (/home/runner/work/enhancedMathJS/enhancedMathJS/node_modules/jest/node_modules/jest-cli/build/cli/index.js:163:37)
npm ERR! Test failed.  See above for more details.
enhancedmath@2.0.0 test /home/runner/work/enhancedMathJS/enhancedMathJS
jest
Run Code Online (Sandbox Code Playgroud)

文件jest.config.js

module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
  testMatch: …
Run Code Online (Sandbox Code Playgroud)

node.js jestjs github-actions

11
推荐指数
3
解决办法
3796
查看次数

当我将代码从本地推送到远程分支时,Github 操作不会触发

我创建了一个 Github 操作,用该语句打印出一些字符串。当我在 github.com 上进行提交时,该操作会触发,但当我在本地进行提交并将其推送到 github.com 上的远程存储库时,该操作不会触发。为什么是这样?

这是我的行动...

name: FeatureCI
on:
  push:
    branches:
      - '*'
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - name: Run a one-line script
      run: echo "Only on featuer branches"
    - name: Run a multi-line script
      run: |
        echo "Only on featuer branches1"
        echo "Only on featuer branches2"
Run Code Online (Sandbox Code Playgroud)

push github github-actions

10
推荐指数
3
解决办法
2万
查看次数

Stack (Haskell) 使用 GitHub Actions 构建源文件缓存

使用 本地构建我的 Haskell 项目时stack build,仅重新编译更改的源文件。不幸的是,我无法让 Stack 在 GitHub Actions 上表现得像这样。请问有什么建议吗?

例子

我用Lib.hsand创建了一个简单的例子Fib.hs,我什至检查缓存的 .stack-work 文件夹是否在构建之间更新,但它总是编译两个文件,即使只更改一个文件。

这是示例:

  1. (未使用缓存,同时构建Lib.hsFib.hs+ 依赖项):https : //github.com/MarekSuchanek/stack-test/runs/542163994
  2. (仅Lib.hs更改,同时构建Lib.hsFib.hs):https : //github.com/MarekSuchanek/stack-test/runs/542174351

我可以从日志(详细堆栈)中观察到缓存中的某些内容正在更新,但我完全不清楚是什么以及为什么。它正确地发现只有Lib.hs被改变了:“ stack-test-0.1.0.0: unregistering (local file changes: src/Lib.hs)”所以我不明白为什么所有的都被编译了。我注意到,在2Fib.hi没有更新,.stack-work但其他人(Fib.oFib.dyn_hi,和Fib.dyn_o)是。

笔记

当没有更改源文件时, ~/.stack 缓存是可以的,也可以不构建。当然,这是一个虚拟示例,但我们有不同的项目,其中包含更多源文件,可以显着加快构建速度。当更改非源文件(例如 README 文件)时,不会按预期构建任何内容。

caching haskell cabal haskell-stack github-actions

10
推荐指数
1
解决办法
610
查看次数

使用github操作部署时如何在node.js进程中设置环境变量

我正在尝试使用 github 操作为我的 node.js 服务器构建 CI 管道。

我只需要解决一个问题。我需要设置环境变量,以便我的 node.js 服务器可以通过访问 env 变量process.env

下面是 github 操作工作流文件。

name: Build and Deploy to GKE

on:
  pull_request:
    branches:
      - master

# Environment variables available to all jobs and steps in this workflow
env:
  ENGINE_API_KEY: ${{ secrets.ENGINE_API_KEY }}

jobs:
  setup-build-publish-deploy:
    name: Setup, Build, Publish, and Deploy
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Apollo Schema Update
        env:
          ENGINE_API_KEY: ${{ secrets.ENGINE_API_KEY }}
        run: |
          sudo npm install
          sudo npm install -g apollo …
Run Code Online (Sandbox Code Playgroud)

continuous-integration node.js github-actions

10
推荐指数
1
解决办法
5106
查看次数

with 和 env 有什么区别

我是 github 操作的新手,我看到用于配置步骤的两件事(如果我错了,请纠正我)withenv.

这两者有什么区别以及它们是如何使用的。

uses: someAction
with:
  x: 10
  y: 20
env:
  x1: 30
  y2: 40
Run Code Online (Sandbox Code Playgroud)

github-actions

10
推荐指数
1
解决办法
493
查看次数

在 brew install 中使用 GitHub 操作缓存

我想使用 GitHub 操作缓存 ( actions/cache@v2) 来保存我的brew install命令的缓存,而不是一遍又一遍地重新下载所有依赖项。

这将使我的构建更快,我该如何实现?

macos homebrew github-actions

10
推荐指数
1
解决办法
1886
查看次数

Github 动作动态工作流名称

我有一个手动触发的作业,它根据我指定的标签构建和部署映像。有没有办法使工作流名称动态化?

name: Build and push

on:
  workflow_dispatch:
    inputs:
      tag:
        description: 'Image Tag'
        required: true

jobs:
...
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情

name: "Build and push ${{ github.event.inputs.tag }}"
Run Code Online (Sandbox Code Playgroud)

github-actions

10
推荐指数
1
解决办法
577
查看次数