标签: github-actions

Github Actions 找不到 GitHub Packages 中托管的 NuGet 包

我设置了一个 GitHub 组织,其中有两个私有存储库:库和应用程序。我已成功为库存储库配置 GitHub 操作,以创建 NuGet 包并将其推送到nuget.pkg.github.com. 我将库包添加为应用程序项目的依赖项,并且可以使用配置的个人访问令牌在本地获取这些包。我现在正在 GitHub Action 上工作,以在 App 项目上构建和运行单元测试。

我在工作流程中添加了一个步骤来添加 NuGet 包源

- name: Set package source
  run: dotnet nuget add source --username USERNAME --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/REDACTED/index.json"
Run Code Online (Sandbox Code Playgroud)

这与推送包时使用的行完全相同,但是当我dotnet restore稍后到达该步骤时,出现以下错误:

/home/runner/work/App/App/App.Services/App.Services.csproj : error NU1101:
Unable to find package Library. No packages exist with this id in source(s): github, nuget.org [/home/runner/work/App/App/App.sln]
Run Code Online (Sandbox Code Playgroud)

我知道可以通过向应用程序存储库的秘密添加新的个人访问令牌来解决此问题,但如果可能的话,为了安全和管理的好处,我更愿意依赖 GITHUB_TOKEN 。

根据 GitHub 的说法,安装由 GitHub Packages 托管的包需要使用 GITHUB_TOKEN 进行最少的配置。并且默认情况下,GITHUB_TOKEN 具有对packages 的读写权限

这个问题与这个 …

nuget github-actions

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

带有 Swift 包的 Codecov

介绍

我已经编写了一个Swift 包,并希望将Codecov集成为我的 CI 的一部分(使用Github Actions设置)。

这是我的.yml文件:

name: Swift  
  
on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build:

    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v3
    - name: Build
      run: swift build -v
    - name: Run tests
      run: swift test -v --enable-code-coverage
    - name: Upload to Codecov
      uses: codecov/codecov-action@v3.1.0
Run Code Online (Sandbox Code Playgroud)

问题

问题是Codecov无法处理由xcodebuildswift命令生成的报告文件。是文档。

Github 操作日志


可能的解决方案

Codecov 建议使用其他第三方工具(例如Slather)将报告的文件转换为预期格式(.xml.json等),但Slather与Swift Packages …

code-coverage github swift-package-manager codecov github-actions

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

更改 GitHub 构建操作的路径

我有一个 GitHub Action,它使用默认的 Microsoft 模板将 ASP.Net Core 应用程序构建到 Azure 应用服务。

在操作的顶部,您可以声明一些环境变量。我将这些设置如下:

name: Build and deploy ASP.Net Core app to an Azure Web App

env:
  AZURE_WEBAPP_NAME: (redacted)    # set this to the name of your Azure Web App
  AZURE_WEBAPP_PACKAGE_PATH: '.'      # set this to the path to your web app project, defaults to the repository root
  DOTNET_VERSION: '3.0'                 # set this to the .NET Core version to use
Run Code Online (Sandbox Code Playgroud)

我的问题是根文件夹不包含 .csproj 或 .sln 文件。所以这一行是不正确的:AZURE_WEBAPP_PACKAGE_PATH: '.'

我尝试将其更改为AZURE_WEBAPP_PACKAGE_PATH: './FolderName/FolderName'(以及许多其他变体),这是 .csproj 文件所在的位置,但是由于以下错误,构建仍然失败: …

azure-web-app-service github-actions

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

无法使用导入存储库在 bitbucket 中导入 github 存储库

我正在使用 import 语句将 GitHub 中的存储库导入到 bitbucket。对我来说似乎是 SSH 密钥问题。此外,我尝试导入的存储库是我组织内的私有存储库。谁能指导我如何解决这个问题?提前致谢。 在此输入图像描述 在此输入图像描述

git github bitbucket github-actions

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

如何动态分配 github 操作中的运行值

name: test if conditions
name: test if conditions
on:
  push:
    branches: [master, test]
env:
  TEST_BRANCH: "test"
  EMPTY_VALUE: ""
jobs:
  test-conditions:
    runs-on: ubuntu-latest
    steps:
      - name: simple evaluation on test
        run: echo "runs"
Run Code Online (Sandbox Code Playgroud)
#eg) for test branch => runs-on: ubuntu-latest
     for master branch => runs-on: ['self-hosted', 'products', 'latest']
Run Code Online (Sandbox Code Playgroud)

是否可以在同一工作流程中动态加载运行?

github-actions github-actions-self-hosted-runners

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

GitHub 分支保护禁用绕过

开始为我们的主要分支设置分支保护规则,目前启用了以下选项:

  • 合并前需要拉取请求

    • 需要批准 = 1
  • 合并前需要对话解决

但是我注意到在 PR 中有一个选项“无需等待满足要求即可合并(绕过分支保护)”:

在此输入图像描述

有没有办法为所有用户禁用此选项?我确实看到了“允许指定的参与者绕过所需的拉取请求”的选项,但实际上并不是同一件事。

提前致谢!

github github-actions

5
推荐指数
2
解决办法
6773
查看次数

如何将 github actions 输出保存到存储库?

我正在尝试使用 pandoc 将推送到我的存储库的 markdown 文件转换为 pdf。但是,不确定如何将输出保存到我​​的存储库中。

这是我的代码:


name: pandoc

on: push

jobs: 
  convert_via_pandoc:
    runs-on: ubuntu-22.04
    steps:
    - uses: actions/checkout@v2
    - name: convert md to pdf 
      uses: docker://pandoc/latex:2.9
      with:
        entrypoint: /bin/sh
        run: |
         cd markdown-files; 
         for file in $(ls ./ |grep *.md); do 
          pandoc $file -o ${file:0:-2}pdf; 
          done            

Run Code Online (Sandbox Code Playgroud)

github github-actions

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

使用 Github 基于 AWS Amplify 标签的部署

我想在推送一些git tag后启动AWS Amplify 构建。有没有办法以这种方式触发构建?

就像我们可以通过 Github 工作流程一样,我们在其中指定将触发特定作业的事件。

任何建议,将不胜感激。谢谢 :)

github amazon-web-services aws-amplify github-actions

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

winehq-stable :取决于: wine-stable (= 7.0.0.0~focal-1)

以下软件包具有未满足的依赖关系: winehq-stable :依赖: wine-stable (= 7.0.0.0~focal-1) 但不会安装 E: 无法纠正问题,您持有损坏的软件包。

我使用的是ubuntu-20.04

  sudo dpkg --add-architecture i386
  sudo wget -qO- https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -
  sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
  sudo apt update
  sudo apt -y install --install-recommends winehq-stable
Run Code Online (Sandbox Code Playgroud)

wine github-actions ubuntu-22.04

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

GitHub Actions 将秘密作为可重用工作流程的输入传递

我有一个可重用的工作流程,用于构建 Docker 映像并将其推送到 ECR。

工作流的输入之一用于指定 docker build 命令的参数。这是可重用工作流程中的命令:

docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG ${{ inputs.DOCKER_BUILD_ARGS }} .
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我需要 DOCKER_BUILD_ARGS 来包含机密,例如:

    secrets:
      AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }}
      AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
    uses: XXXXX/.github/workflows/DockerBuildPushECR.yml@main
    with:
      ECR_REGISTRY: XXXXXX
      ECR_REPOSITORY: XXXXX
      DOCKER_BUILD_ARGS: "--build-arg PASSWORD=${{ secrets.PASSWORD }}"
Run Code Online (Sandbox Code Playgroud)

GitHub 抱怨工作流程无效:“无法识别的命名值:‘秘密’”,因为它只需要秘密部分中的秘密。

我无法将它作为秘密传递,因为可重用工作流程不需要这个秘密,我只是希望它成为字符串的一部分......

无法使用 env,因为它无法与可重用工作流程结合使用

我怎样才能让这个场景发挥作用?

github-actions github-secret

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