标签: github-actions

如何根据输出条件运行 Github Action 的步骤?

如果有超过 100 个 flake8 错误,我想对 PR 发表评论,但它不会禁用合并按钮。

我的方法是这样的:

name: Flake8 Check
on:  [pull_request]

jobs:
  flake8:
    name: Flake8 Check
    runs-on: ubuntu-latest

    steps:
      - name: Check out code
        uses: actions/checkout@v2

      - name: Install Python
        uses: actions/setup-python@v1
        with:
          python-version: 3.6

      - name: Install dependency
        run: pip install flake8

      - name: Flake8
        id: flake
        run: echo "::set-output name=number::$(flake8 --config=tools/dev/.flake8 --count -qq)"


      - name: comment PR
        uses: unsplash/comment-on-pr@master
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          msg: "There are ${{ steps.flake.outputs.number }} Flake8 errors which is a …
Run Code Online (Sandbox Code Playgroud)

python flake8 github-actions

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

排除用于在 Github Actions 上创建工件文件的文件

我是 Github Actions 的新手。我有一个使用 node_modules 的项目。我想创建工件文件而不在 Github Actions 上包含 node_modules,因为使用 node_modules 需要一段时间才能创建和下载,因为文件大小。有没有办法做到这一点?

这似乎与此有关,但无法弄清楚如何。 https://github.com/actions/upload-artifact/issues/44

github github-actions

1
推荐指数
2
解决办法
294
查看次数

从子模块触发操作作业

当子模块存储库更新时,我需要触发 github 操作。我正在构建一个具有多个依赖项目和一个父项目的多模块 Maven 应用程序。

当子项目被推送到时,父项目需要触发该操作。如果可能的话,我想选择执行哪些作业以限制每次项目的完全重建。

git github github-actions

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

Github Action:rsync 设置不断失败

我有一个工作流程,deployment.yml如下所示:

name: Deployment

on:
  push:
    branches: [ production ]

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2

    - uses: actions/setup-node@v1.1.0
      with:
        version: 10.x

    - name: Install dependencies
      run: |
        composer install -o
        yarn
    - name: Build
      run: yarn build:production
    
    - name: Sync
      env:
        dest: 'user@server:/var/www/html/wp-content/themes/theme-name'
      run: |
        echo "${{secrets.DEPLOY_KEY}}" > deploy_key
        chmod 600 ./deploy_key
        rsync -chav --delete \
          -e 'ssh -i ./deploy_key -o StrictHostKeyChecking=no' \
          --exclude /deploy_key \
          --exclude /.git/ \
          --exclude /.github/ \
          --exclude /node_modules/ \
          ./ …
Run Code Online (Sandbox Code Playgroud)

github github-actions

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

为什么我的 cron 配置的 GitHub Action 不是每 2 分钟运行一次?

在此处输入图片说明

在此处输入图片说明

为什么 cron 不是每 2 分钟运行一次?有效运行间隔为 9 分钟。

github-actions

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

如何获取 GitHub Actions 中提交更新的文件的文件名?

在 GitHub Actions 工作流程中,我们多次尝试使用此命令获取由推送的提交更改的文件的文件名run: git diff-tree --no-commit-id --name-only -r ${{ github.sha }}。但它总是只返回以下日志,不给出文件名或带路径的文件名。请参见下图。

GitHub Actions 运行日志

关于 Runner 类型: ubuntu-latest,它不是自托管运行器。

git github github-actions

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

为本地测试设置 GitHub Actions 输入值

我正在编写一个 GitHub 操作,它接收一个名为fileusing @actions/corelibrary的必填输入字段。

const core = require("@actions/core");

async function run() {
    try {
        let file = core.getInput('file', {required: true});

        // rest of my action ...
Run Code Online (Sandbox Code Playgroud)

我能够在本地运行它,但它按原样失败(未提供输入)。 是否有提供输入的内置方法(类似于 env-vars),以便我可以在本地运行和测试它?

Error: Input required and not supplied: file
    at Object.getInput (.../node_modules/@actions/core/lib/core.js:78:15)
    at run (.../src/main.js:6:25)
    at Object.<anonymous> (.../src/main.js:40:5)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47
::error::Input required and not supplied: file
Run Code Online (Sandbox Code Playgroud)

javascript github-actions building-github-actions

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

使用 SonarQube(社区版)装饰 GitHub 中的拉取请求

首先,我创建了 SonarQube Server(社区版),并将 sonarQube 与 Github 集成在一起,用于扫描 GitHub 的代码。

然后,我在 GitHub 中创建了 action 来运行 sonarQube

.github/workflows/python-pull.yml

 run: sonar-scanner
          -Dsonar.host.url=${{ secrets.SONAR_URL }}
          -Dsonar.login=${{ secrets.SONAR_TOKEN }}
          -Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }}
          -Dsonar.pullrequest.key=${{ github.event.number }}
          -Dsonar.pullrequest.branch=${{ github.HEAD_REF }}
          -Dsonar.pullrequest.base=${{ github.BASE_REF }}
          -Dsonar.pullrequest.github.repository=${{ github.repository }}
          -Dsonar.scm.provider=git
          -Dsonar.java.binaries=/tmp
Run Code Online (Sandbox Code Playgroud)

GitHub 操作的结果 在此图像中,仅显示“所有检查均已通过”

每当我推送或拉入 GitHub 时,sonarQube 服务器都会显示所有错误、错误、漏洞等。就像这样

但我的要求是: 我希望代码的所有详细信息都显示在 Sonarqube Server 中显示的 GitHub 页面上(例如错误和错误)

还让我知道在 sonarQube 的社区版中可以吗?

github sonarqube github-actions sonarqube-7.9

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

如果不是拉取请求,则仅运行 GitHub 操作步骤

我有一个工作流需要在推送或拉取请求上执行,除了最后一步将包推送到 NuGet(我不希望在拉取请求上发生这种情况,即使是掌握)。

如果工作流是从拉取请求触发的,如何防止发布 NuGet 步骤运行?

name: .NET Core

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 3.1.101
    - name: Install dependencies
      run: dotnet restore
    - name: Build
      run: dotnet build --configuration Release --no-restore
    - name: Test
      run: dotnet test --no-restore --verbosity normal
    - name: Publish NuGet
      uses: brandedoutcast/publish-nuget@v2.5.2
      with:
        PROJECT_FILE_PATH: "Orleans.Sagas/Orleans.Sagas.csproj"
        NUGET_KEY: ${{secrets.NUGET_KEY}}
Run Code Online (Sandbox Code Playgroud)

github-actions

1
推荐指数
2
解决办法
408
查看次数

使用github操作时是否可以使用静态ip

现在我使用 github actions 作为我的项目 CI,我想在使用 github actions 构建我的项目时做一些单元测试。当我使用单元测试时,项目必须使用数据库,现在我的数据库有白名单,只有白名单中的IP才能连接我的数据库,但是现在在GitHub Actions中运行单元测试时,我不知道GitHub Actions的IP地址. 是否可以使用静态 ip 或任何其他方式来解决问题?我不希望任何 IP 可以连接我的数据库,它可能有安全问题。有什么建议吗?

firewall github github-actions

1
推荐指数
3
解决办法
572
查看次数