我正在为市场开发 GitHub Action。它有各种带有默认值的输入。这些输入之一恰好是boolean我用来切换调试状态的输入。
这是我的布尔输入定义:
inputs:
debug_mode:
description: "Controls the debug mode, boolean, true is for on. When turned on, it'll output certain information on certain steps. Mainly used for development, but use it as you please to inspect your env and variables."
type: boolean
required: false
default: false
Run Code Online (Sandbox Code Playgroud)
boolean正如您所看到的,它具有带默认值的类型false。然后,在其中一个步骤中,我检查debug_mode以确定是否运行该步骤。但是,它没有按预期工作:
steps:
- name: Dump debug_mode
run: echo "debug_mode is ${{ inputs.debug_mode }}"
shell: bash
- name: Dump context
if: ${{ inputs.debug_mode}}
uses: crazy-max/ghaction-dump-context@v2
- …Run Code Online (Sandbox Code Playgroud) 当我尝试将 github 操作构建包推送到 github 容器注册表时,显示如下错误:
#21 pushing layer 71bf85df11bc 0.5s done
#21 pushing layer 2e8dc9c47172 0.5s done
#21 pushing layer cdd7c7392317 0.5s done
#21 ERROR: denied: installation not allowed to Create organization package
------
> pushing ghcr.io/jiangxiaoqiang/rust-musl-builder:beta with docker:
------
ERROR: denied: installation not allowed to Create organization package
Error: buildx call failed with: ERROR: denied: installation not allowed to Create organization package
Run Code Online (Sandbox Code Playgroud)
我现在使用的是个人用户,这仅支持组织吗?我尝试创建一个经典令牌,但是当我添加 GITHUB_TOKEN 时,系统告诉这是 github 维护的系统环境。
我应该怎么做才能解决这个问题?我是否必须将我的项目转移到组织?
我有一个 GitHub 操作,可以生成 PHPUnit 代码覆盖率报告,并以 PNG 格式截取该报告的屏幕截图。我想发布这张图片作为对 PR 的评论。最初,我尝试将评论作为 base64 编码的 URL 发布在评论中。不过PR评论中并没有出现GitHub支持这种方式渲染图片的情况。然后,我尝试将图像作为构建工件上传,但 GitHub 无法让我在评论中将此资产链接为图像。我想避免将构建工件上传到公开可用的位置,只是为了使用正常的图像语法将图像加载到评论中。
将文件拖放到评论中时,GitHub 似乎会将图像上传到特定 PR 资产范围内的位置。我可以使用相同的过程以某种方式将图像加载到 PR 评论中吗?
作为临时措施,我已将图像设置为作为构建工件上传,并链接用户下载此构建工件作为 PR 的评论。但是,我希望将图像直接显示在 PR 评论中。
我在Github网络用户界面上看到了这一点:
但是对我来说,尚不清楚禁用的重新运行是我的.github/main.workflow配置结果还是从Github Actions服务继承而来。
下面的示例工作流程-我看不到任何明显的会禁用重新运行的内容。
workflow "Test, Lint" {
on = "push"
resolves = [
"Test",
"Lint",
"Lint Format"
]
}
action "Install" {
uses = "actions/npm@master"
args = "install"
secrets = ["SECRET_TOKEN"]
}
action "Test" {
needs = "Install"
uses = "actions/npm@master"
args = "test"
secrets = ["SECRET_TOKEN"]
}
action "Lint" {
needs = "Install"
uses = "actions/npm@master"
args = "run lint"
secrets = ["SECRET_TOKEN"]
}
action "Lint Format" {
needs = "Install"
uses = "actions/npm@master"
args = …Run Code Online (Sandbox Code Playgroud) 所以我正在尝试使用 github 操作设置 Laravel ci 服务器。而且,我edbizarro/gitlab-ci-pipeline-php:7.3用作我的容器,我使用官方的 mariadb docker 作为 mysql 服务。:
services:
mysql:
image: mariadb:10.3
env:
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
ports:
- 13306:3306
...
Run Code Online (Sandbox Code Playgroud)
我正在尝试运行,运行 mysql 命令来导入数据库:
- name: Setting Up DB
run: |
mysql -Tv -h mysql -P 13306 --protocol=tcp -u root -proot < ./storage/test.sql
Run Code Online (Sandbox Code Playgroud)
这是我所做的几次尝试:
| host | error message |
|--------------------|------------------------------------------------------------------------|
| mysql,"${DB_HOST}" | ERROR 2005 (HY000): Unknown MySQL server host 'mysql' (-2) |
| 0.0.0.0 | ERROR 2002 (HY000): Can't connect to …Run Code Online (Sandbox Code Playgroud) 在新的GitHub动作中,我试图安装一个软件包,以便在后续步骤之一中使用它。
name: CI
on: [push, pull_request]
jobs:
translations:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Install xmllint
run: apt-get install libxml2-utils
# ...
Run Code Online (Sandbox Code Playgroud)
但是这失败了
Run apt-get install libxml2-utils
apt-get install libxml2-utils
shell: /bin/bash -e {0}
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
##[error]Process completed with exit code 100.
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么?是否需要接触Docker?
我正在为具有多个 git 子模块的 Android 项目私有存储库设置 GitHub 操作,我的工作流程甚至无法通过结帐步骤!
我知道这可能是身份验证问题,但不知道如何解决!我想知道由于 CI 是用于 GitHub 的,它可以访问公司的所有存储库,并且不需要任何令牌或哈希键。
这是 yml 文件中的结帐步骤:
- name: Chrckout repo
uses: actions/checkout@v1
with:
submodules: true
lfs: true
Run Code Online (Sandbox Code Playgroud)
这是日志的某些部分(抱歉,由于项目机密性,我不得不混淆某些部分,但它应该是可读的):
2019-09-29T13:03:39.9185317Z ##[group]Run actions/checkout@v1
2019-09-29T13:03:39.9272863Z with:
2019-09-29T13:03:39.9273270Z submodules: true
2019-09-29T13:03:39.9273443Z lfs: true
2019-09-29T13:03:39.9273636Z ##[endgroup]
2019-09-29T13:03:40.9117862Z Added matchers: 'checkout-git'. Problem matchers scan action output for known warning or error strings and report these inline.
2019-09-29T13:03:40.9118799Z ##[add-matcher]/home/runner/work/_temp/git_edd66dd0-526a-44d1-97ad-a70a018bc61e.json
2019-09-29T13:03:40.9137013Z Syncing repository: ***/***-Android
2019-09-29T13:03:40.9145133Z ##[command]git version
2019-09-29T13:03:40.9145665Z git version 2.23.0
2019-09-29T13:03:40.9146108Z ##[command]git lfs version
2019-09-29T13:03:41.5663318Z git-lfs/2.8.0 (GitHub; linux …Run Code Online (Sandbox Code Playgroud) git continuous-integration github git-submodules github-actions
我是 GitHub 操作的新手,目前正在使用https://github.com/foo-software/lighthouse-check-action来自动完成审计。但是由于urls必须进行硬编码,因此当只想审计提交中修改过的页面并基于这些页面失败时,它并不能证明有用。
如果我完全遗漏了某些东西,有没有办法实现上述目标?我正在查看一些类似https://github.com/marketplace/actions/get-changed-files 的操作,但我无法让它工作。我还查看了 GitHub 事件和参考文档,但无法弄清楚这些。有人会指出我正确的方向吗?
预先感谢您的帮助!
当评论添加到该 PR 时,有没有办法让 Github Action 在 PR 上触发?我创建了一个 Github 操作,它将在 PR(创建等)上发生的各种事件上触发。我还没有弄清楚的一个是添加评论时的触发器。我在这里没有看到任何表明它受支持的内容:
我错过了什么吗?
我正在尝试检查以前在 github 操作中更改了哪些文件。为此,我正在运行以下命令:
git diff --name-only HEAD~1 -- .'
Run Code Online (Sandbox Code Playgroud)
虽然这在本地有效,但在 github 操作上,我似乎收到此错误:
fatal: bad revision 'HEAD~1'
Checking if any files changed
Run Code Online (Sandbox Code Playgroud)
我正在使用https://github.com/actions/checkout操作进行结帐。