标签: github-actions

如何使用 github-script 操作在 GitHub Action 中上传版本

现在,一些标准 GitHub 操作已存档并且不再受支持,我需要创建一个新版本并使用GitHub 脚本操作上传工件。

注意:我无法使用 GitHub 不支持的操作。

我已经完成了发布并正在工作,但是现在当尝试上传发布工件时,我找不到上传发布内容(这是一个 tarball)的方法。

用于上传发布资产的 API 端点的文档建议数据应该是调用输入的一部分,而不是引用文件。

如何将文件的内容获取到下面的数据参数中:

- name: Upload Assets
  uses: "actions/github-script@v6"
  with:
    script: |
        try {
          return await github.rest.repos.uploadReleaseAsset({
            owner: context.repo.owner,
            repo: context.repo.repo,
            name: "release.tar.xz",
            release_id: ${{ fromJSON(steps.deploy.outputs.result).data.id }}
            data: 
          })
        } catch (error) {
          core.setFailed(error.message);
        }
Run Code Online (Sandbox Code Playgroud)

github github-api github-actions

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

Github Actions:关于 set-output 的警告,但不使用它

我正在使用 GitHub 操作“构建”Python 应用程序(运行 linting、代码覆盖率和测试)。在操作结束时,我收到以下警告:

1 warning
build
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Run Code Online (Sandbox Code Playgroud)

但我的python-app.yml不使用 set-output:

name: Python application

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

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Check out
      uses: actions/checkout@v3

    - name: Set up Python 3.10
      uses: actions/setup-python@v3
      with:
        python-version: "3.10"

    - name: Install dependencies
      run: |
        python -m …
Run Code Online (Sandbox Code Playgroud)

github github-actions

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

删除 GitHub 自托管运行器上的默认标签

为 GitHub(企业)创建新的自托管运行器时,会自动添加一些默认标签(Windows、X64、自托管)。我还可以使用 --labels 参数添加自定义标签。

问题是,我想为某些特定的工作流程保留此运行程序,但不限制可以调用它的存储库。因为有些项目使用这个默认标签来选择跑步者,所以我想删除它们。

我试图找到这个标签的创建位置,但我担心它们是在服务器端创建的,我无法控制它们......

有人处理过类似的情况吗?

谢谢。

github github-for-windows github-actions github-actions-self-hosted-runners

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

尝试将 Coveralls 与 GitHub 操作结合使用时出现 422 错误

我正在尝试设置Coveralls以与 Python 项目的GitHub Actions配合使用,尽管我已多次查看文档并按照我的理解遵循所有说明,但我仍然面临以下问题错误:

\n
\n

错误响应 422 {\xe2\x80\x9cmessage\xe2\x80\x9d:\xe2\x80\x9cCouldn\xe2\x80\x99t 找到与此匹配的存储库\njob\xe2\x80\x9d、\xe2\x80\x9cerror\ xe2\x80\x9d: 真}

\n
\n

这是我的 YAML 文件的最小版本:

\n
name: coveralls\non:\n  pull_request:\n    branches:\n      - main\njobs:\n  tests:\n    runs-on: ubuntu-latest\n    steps:\n      - name: checkout\n        uses: actions/checkout@v3\n      - name: setup python\n        uses: actions/setup-python@v4\n        with:\n          python-version: \'3.9\'\n      - name: install requirements\n        run: |\n          pip install --upgrade pip\n          pip install pytest\n          pip install pytest-cov\n          pip install -r app/requirements.txt\n      - name: run tests\n        run: |\n          pytest --cov=app\n          coverage report -m\n          coverage lcov\n …
Run Code Online (Sandbox Code Playgroud)

python automated-tests github coveralls github-actions

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

尝试发布我的 Github 页面时出现构建错误

我在尝试发布我的 gh 页面时不断收到构建和部署错误,它在本地工作,有人可以帮助我吗?

我的网页使用的是 Jekyll al-folio。我在尝试发布 gh 页面时遇到的错误是:

github-pages can't satisfy your Gemfile's dependencies.

如果您需要更多信息,请告诉我。

我做了我能找到的一切,我自己几乎一年前也遇到了同样的问题,我发布了解决方案,但这对我来说不再有用了。bundle update根据一种解决方案使用了更新的 gemfile.lock 但它也不起作用。

根据一条评论,由于我没有任何 gh-pages 分支,所以我创建了一个,并将页面设置中的分支从 main 更改为 gh-pages,我仍然收到相同的错误消息,并且构建和部署失败。

jekyll gemfile github-pages gemfile.lock github-actions

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

GitHub Actions + Docker 构建:错误:由于 OSError 无法安装软件包:[Errno 13] 权限被拒绝:'/nonexistent'

我有一个 GitHub Actions 工作流程,但我的构建失败,因为 Docker 无法安装我的requirements.txt文件中的所有库。

在此COPY ./requirements.txt .步骤中以及软件包下载完成后,安装阶段将停止并出现错误:ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/nonexistent'

当我查看日志时,我注意到:

#7 [2/7] RUN adduser --system nonroot
#0 0.105 Adding system user `nonroot' (UID 100) ...
#0 0.105 Adding new user `nonroot' (UID 100) with group `nogroup' ...
#7 0.117 Not creating `/nonexistent'. <---???
#7 DONE 0.7s
Run Code Online (Sandbox Code Playgroud)

这是昨天成功的 CI 工作流程的片段:

#7 [2/7] RUN adduser --system nonroot
#0 0.099 Adding system user `nonroot' (UID …
Run Code Online (Sandbox Code Playgroud)

docker github-actions

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

如何将Docker与GitHub Actions一起使用?

当我创建GitHub Actions工作流文件时,示例YAML文件包含runs-on: ubuntu-latest根据文档,我只有Ubuntu,Windows Server和macOS X的几个版本之间可以选择。

我以为GitHub Actions在Docker内部运行。如何选择Docker映像?

docker github-actions

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

如何在GitHub操作中推送nuget包

我正在尝试使用GitHub操作从我的项目中生成NuGet包,并将其推送到(私有)GitHub注册表。

我的脚本([NAME]字段已删除):

name: Update NuGet

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    name: Update NuGet 
    steps:
      - uses: actions/checkout@master
      - uses: actions/setup-dotnet@v1
        with:
          dotnet-version: '2.2.105'
      - name: Package Release
        run: |  
          cd [SOLUTION_FOLDER]
          dotnet pack -c Release -o out
      - name: Publish Nuget to GitHub registry
        run: dotnet nuget push ./[SOLUTION_FOLDER]/[PROJECT_FOLDER]/out/$(ls ./[SOLUTION_FOLDER]/[PROJECT_FOLDER]/out) -s https://nuget.pkg.github.com/[USERNAME]/index.json -k ${GITHUB_TOKEN}  
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 
Run Code Online (Sandbox Code Playgroud)

日志输出:

info : Pushing [PROJECT_FOLDER].3.4.23.nupkg to 'https://nuget.pkg.github.com/[USERNAME]'...
info :   PUT https://nuget.pkg.github.com/[USERNAME]/
info : An error was encountered when fetching 'PUT …
Run Code Online (Sandbox Code Playgroud)

bash action github nuget github-actions

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

如何在GitHub Actions中使用bash表达式设置env var?

在GitHub Actions中,我想评估bash表达式,然后将其分配给环境变量-

    - name: Tag image
      env:
        GITHUB_SHA_SHORT: ${{ $(echo $GITHUB_SHA | cut -c 1-6) }}
      ..do other things...
Run Code Online (Sandbox Code Playgroud)

但是,这种幼稚的尝试失败了。根据文档,这似乎不受支持,但是稍微干净的解决方法就可以了。

github-actions

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

Github 操作未上传工件

我在从工作流中将工件上传到 github 时遇到问题。

这是我的 yaml 文件:


on:
  push:
      branches:
      - master

jobs:
    build:
      name: build and test
      runs-on: ubuntu-latest

      steps:
        - uses: actions/checkout@v1
        - name: Install robotframework and dependencies
          run: |
            pip install selenium
            pip install robotframework
            pip install robotframework-seleniumlibrary
            pip install robotframework-imaplibrary
            pip install robotframework-httplibrary
            pip install robotframework-requests
        - name: Download and install chromedriver
          run: |
            wget http://chromedriver.storage.googleapis.com/77.0.3865.10/chromedriver_linux64.zip
            sudo unzip chromedriver_linux64.zip -d /usr/local/bin
            export CHROME_BIN=chromium-browser
        - name: Run robot tests
          run: |
            cd robot/tests
            python -m robot -i ready …
Run Code Online (Sandbox Code Playgroud)

workflow artifacts github-actions

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