现在,一些标准 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 操作“构建”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(企业)创建新的自托管运行器时,会自动添加一些默认标签(Windows、X64、自托管)。我还可以使用 --labels 参数添加自定义标签。
问题是,我想为某些特定的工作流程保留此运行程序,但不限制可以调用它的存储库。因为有些项目使用这个默认标签来选择跑步者,所以我想删除它们。
我试图找到这个标签的创建位置,但我担心它们是在服务器端创建的,我无法控制它们......
有人处理过类似的情况吗?
谢谢。
github github-for-windows github-actions github-actions-self-hosted-runners
我正在尝试设置Coveralls以与 Python 项目的GitHub Actions配合使用,尽管我已多次查看文档并按照我的理解遵循所有说明,但我仍然面临以下问题错误:
\n\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
这是我的 YAML 文件的最小版本:
\nname: 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) 我在尝试发布我的 gh 页面时不断收到构建和部署错误,它在本地工作,有人可以帮助我吗?
我的网页使用的是 Jekyll al-folio。我在尝试发布 gh 页面时遇到的错误是:
github-pages can't satisfy your Gemfile's dependencies.
如果您需要更多信息,请告诉我。
我做了我能找到的一切,我自己几乎一年前也遇到了同样的问题,我发布了解决方案,但这对我来说不再有用了。我bundle update根据一种解决方案使用了更新的 gemfile.lock 但它也不起作用。
根据一条评论,由于我没有任何 gh-pages 分支,所以我创建了一个,并将页面设置中的分支从 main 更改为 gh-pages,我仍然收到相同的错误消息,并且构建和部署失败。
我有一个 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) 当我创建GitHub Actions工作流文件时,示例YAML文件包含runs-on: ubuntu-latest。根据文档,我只有Ubuntu,Windows Server和macOS X的几个版本之间可以选择。
我以为GitHub Actions在Docker内部运行。如何选择Docker映像?
我正在尝试使用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) 在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 时遇到问题。
这是我的 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) github-actions ×10
github ×5
docker ×2
action ×1
artifacts ×1
bash ×1
coveralls ×1
gemfile ×1
gemfile.lock ×1
github-actions-self-hosted-runners ×1
github-api ×1
github-pages ×1
jekyll ×1
nuget ×1
python ×1
workflow ×1