标签: github-actions

GitHub Actions:CodeQL 分析结果

我已通过网站将 CodeQL 集成到我的 github 项目中。它可以工作、分析并生成 SARIF 文件。然后它说结果已成功上传:

Uploading results
  Processing sarif files: ["/home/runner/work/my_project/results/cpp-builtin.sarif"]
  Uploading results
  Successfully uploaded results
Run Code Online (Sandbox Code Playgroud)

在哪里?我在哪里可以找到这些结果并阅读它们?CodeQL 如何指示发现问题?我的 .yaml 包含:

    - run: |
       sudo -n apt-get install -y autopoint gettext
       autoreconf --install
       ./configure
       make
    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v1
Run Code Online (Sandbox Code Playgroud)

github-actions codeql

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

使用 Github Actions 部署 Firebase Cloud 函数时的环境变量

我一直在尝试使用 Github actions CI/CD 工作流程自动部署 firebase 云功能。这些函数是使用 NodeJs、Express 和 Typescript 开发的。所有环境变量都保存在 .env 文件中,该文件未在 github 上跟踪(出于显而易见的原因)

main.yaml 文件(在 .github/workflows/ 中)

name: CI/CD

on:
  push:
    branches: [ deploy ]
  pull_request:
    branches: [ deploy ]

  workflow_dispatch:

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: create env file
        run: |
          cd functions
          touch .env
          echo "${{ secrets.ENV_VARS }}" >> .env
    

      - name: Install npm packages
        run: |
          cd functions
          npm install
    
      - name: Deploy to Firebase
        uses: w9jds/firebase-action@master
        with:
          args: deploy
        env: …
Run Code Online (Sandbox Code Playgroud)

environment-variables google-cloud-functions env-file github-actions cicd

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

如何在 GitHub 操作中缓存 npm 依赖项?

下面是我的 dockerfile。有没有办法在 GitHub 操作中缓存 npm?

FROM node
WORKDIR /app
ADD package*.json ./
RUN npm ci
ENV PATH /app/node_modules/.bin:$PATH
Run Code Online (Sandbox Code Playgroud)

我的 GitHub 操作:

name: NPM buid

on:
  push:
    branches:
      - main
jobs:
  build-npm-image:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Build and Tag Node image
        id: build-ui-image
        run: |
          export DOCKER_BUILDKIT=1
          docker build -t ui -f ./ui/Dockerfile .
Run Code Online (Sandbox Code Playgroud)

PS 我不想缓存 docker 镜像。上面的 docker 文件仅作为示例使用。反对的是缓存 npm 依赖项

github github-actions

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

环境变量并不总是在 GitHub Actions 工作流程文件中展开

我有一个 GitHub Actions 工作流程文件,其中环境变量并不总是被扩展。

根据注释,环境变量的使用可以正常工作,直到它在name: deploy不扩展的部分中最后一次使用为止,并且实际上变成了字符串,rg-blue-$***GITHUB_REF#refs/heads/***而不是前面部分中正确扩展的字符串:rg-blue-my-branch-name

这会导致 Azure ARM 错误:Error: Resource Group rg-blue-$***GITHUB_REF#refs/heads/*** could not be found.

为什么除了最后一步之外,变量扩展在所有地方都能正确工作?我如何解决它?

on: [push]
name: Azure ARM
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    env:
      resourceGroupName: rg-blue-${GITHUB_REF#refs/heads/}
      resourceGroupLocation: 'uksouth'

    - name: Use the custom ENV variable
      run: |
        echo "${{ env.resourceGroupName}}"
        echo ${{ env.resourceGroupName}}
      // these two work perfectly fine and prints "rg-blue-my-branch-name" etc

    - uses: actions/checkout@master

    - uses: azure/login@v1
      with:
        creds: ${{ secrets.AZURE_CREDENTIALS }}

    - uses: azure/CLI@v1
      with:
        inlineScript: …
Run Code Online (Sandbox Code Playgroud)

yaml github azure github-actions

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

在 github 操作的步骤之间共享下载的文件

我正在 github 操作中从 AWS S3 下载文件。在下一步(相同的工作)中,我尝试编辑该文件。有时该文件仍然存在,有时则不存在。

每个步骤都会运行一个 bash 脚本,我会在第一步结束时检查该文件是否存在。该文件正在下载到该$HOME目录,因此该文件的路径为/home/runner/my-file.json

我应该将该文件下载到哪里,以保证下一步该文件仍然存在?

github-actions

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

使用客户端有效负载正确请求在 github 操作中运行工作流程_调度

我使用workflow_dispatch 创建简单的github 操作。

name: Run Workflow Dispatch

on: 
  workflow_dispatch:
    inputs:
      version:
        description: 'version'     
        required: true
        default: 'latest'

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout
      uses: actions/checkout@v2

    - run: |
        echo "version: ${{ github.event.inputs.version }}"
Run Code Online (Sandbox Code Playgroud)

我通过curl 创建请求。

curl -X POST \
  -H "Accept: application/vnd.github.everest-preview+json" \
  -H "Authorization: token xxxxxxxxx" \
  https://api.github.com/repos/patsevanton/workflow-dispatch-client-payload/actions/workflows/workflow_dispatch.yml/dispatches \
  --data '{"event_type": "my-dispatch", "client_payload": {"ref": "main"}}'
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

{
  "message": "Invalid request.\n\n\"client_payload\", \"event_type\" are not permitted keys.\n\"ref\" wasn't supplied.",
  "documentation_url": "https://docs.github.com/rest/reference/actions#create-a-workflow-dispatch-event"
}
Run Code Online (Sandbox Code Playgroud)

如何在github操作中创建正确的workflow_dispatch?如何在github操作中创建对workflow_dispatch的正确请求?

github-actions

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

GitHub Actions 工作流程语法未按预期工作

我有一个 GitHub 工作流程,当根据模式**/abc**修改/创建文件时会触发该工作流程。据我了解,这意味着每当:

  1. 位于以abc或开头的文件夹的某个子文件夹中的文件
  2. 任何以以下内容开头的文件abc

修改后,应触发 GH 操作。但是,当我创建文件时,甚至会触发工作流程repository/aaa/test_abc

但是,据我了解,该文件repository/aaa/test_abc与模式不对应**/abc**

我是吗

  1. 是否误解了 GH 操作语法
  2. GH 操作中有错误吗?

glob github github-actions

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

如何根据标签名运行作业

我有以下条件:

name: Build Image

on:
  push:
  pull_request:
  workflow_dispatch:
    

jobs:

  build-image: (This should be only if the tag contains "azure")
    name: Build Image Job
    runs-on: [ self-hosted ]

    steps:
    - uses: actions/checkout@v2

    - name: Run Build Step
      run: |
        ANSIBLE_VERSION=$(cat VERSION)
        docker images

jobs:

  build-image: (This will be for everything else)
    name: Build Image Job
    runs-on: [ self-hosted ]

    steps:
    - uses: actions/checkout@v2

    - name: Run Build Step
      run: |
        ANSIBLE_VERSION=$(cat VERSION)
        docker images
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?如何引用作业中的标签?如何使用变量并从中制定 if 规则?

github github-actions

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

是否可以使用语义发布来自动化 .Net 程序集版本控制?

我有一个 C# 解决方案,包含单个项目和多个使用 .Net 6 的库。我使用传统提交(commitlint 和 husky),并希望使用语义发布将最新版本部署为基于提交的 Github 上的 ZIP 文件消息。


我为 C# 项目尝试过的设置:

  • 安装包

npm install semantic-release -D
npm install @semantic-release/changelog -D
npm install @semantic-release/npm -D
npm install @semantic-release/github -D
npm install @semantic-release/git -D
Run Code Online (Sandbox Code Playgroud)
  • 在根目录中创建.releaserc.json文件

npm install semantic-release -D
npm install @semantic-release/changelog -D
npm install @semantic-release/npm -D
npm install @semantic-release/github -D
npm install @semantic-release/git -D
Run Code Online (Sandbox Code Playgroud)
  • 在package.json文件内将密钥设置version0.0.0-development,将密钥设置privatetrue并添加存储库 url
  • 工作流目录中创建release-on-push-on-main-branch.yml文件

{
  "plugins": …
Run Code Online (Sandbox Code Playgroud)

.net c# assemblyversions semantic-release github-actions

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

如何在 GitHub 操作中访问 GitHub 存储库的根目录?

每当进行提交时,我都会尝试从resume.tex我的简历存储库文件中构建一份简历 pdf 。

我收到以下错误。

Error:  File '/home/runner/work/resume/resume/resume.tex' cannot be found from the directory '/github/workspace'.
Run Code Online (Sandbox Code Playgroud)

我应该如何访问该resume.tex文件?如果我只是说root_file: resume.tex,错误是:

Error:  File 'resume.tex' cannot be found from the directory '/github/workspace'.
Run Code Online (Sandbox Code Playgroud)

.github/workflows/build_resume.yml文件看起来像这样。该resume.tex文件位于我的存储库的根目录中。

# This is a basic workflow to help you get started with Actions

name: Build PDF on commit.

# Controls when the workflow will run
on:
  # Triggers the workflow on push or pull request events but only for …
Run Code Online (Sandbox Code Playgroud)

pdf latex github-actions

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