标签: github-actions

不再支持端口 9418 上未经身份验证的 git 协议

我已经使用 github actions 有一段时间了,但今天我的部署开始失败。以下是 github 操作日志中的错误

Command: git
Arguments: ls-remote --tags --heads git://github.com/adobe-webplatform/eve.git
Directory: /home/runner/work/stackstream-fe/stackstream-fe
Output:
fatal: remote error: 
  The unauthenticated git protocol on port 9418 is no longer supported.
Run Code Online (Sandbox Code Playgroud)

经过调查,我的 yml 文件中的以下部分似乎导致了该问题。

    - name: Installing modules
      run: yarn install
Run Code Online (Sandbox Code Playgroud)

我已经查看了此更改日志,但似乎无法理解这个问题。

其他详细信息:服务器:EC2 实例 Github 操作步骤:

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

  - id: vars
    run: |
      if [ '${{ github.ref }}' == 'refs/heads/master' ]; then echo "::set-output name=environment::prod_stackstream" ; echo "::set-output name=api-url::api" ; elif [ '${{ github.ref …
Run Code Online (Sandbox Code Playgroud)

git deployment github github-actions

95
推荐指数
6
解决办法
8万
查看次数

github 帖子 /repos/{owner}/{repo}/actions/runners/registration-token API 上的“资源无法通过集成访问”

我正在从我的 github 工作流程(操作)发出一个 curl 发布请求,以获取自托管运行器的注册令牌,但我收到以下响应:

{
  "message": "Resource not accessible by integration",
  "documentation_url": "https://docs.github.com/rest/reference/actions#create-a-registration-token-for-a-repository"
}
Run Code Online (Sandbox Code Playgroud)

下面是我的 github 工作流程的精简版本:


name: get-token

"on":
  push: { branches: ["token"] }

jobs:
  
  print-token:
    name: print-token
    environment: dev
    # needs: pre-pkr
    runs-on: ubuntu-latest

    steps:
      - name: Check out code
        uses: actions/checkout@v2

      - name: Get registration token
        id: getRegToken
        run: |
          curl -X POST -H \"Accept: application/vnd.github.v3+json\"  -H 'Authorization: token ${{ secrets.GITHUB_TOKEN }}' https://api.github.com/repos/myprofile/myrepo/actions/runners/registration-token
Run Code Online (Sandbox Code Playgroud)

最终我想将此令牌传递给我使用 packer build 命令创建的 ami(下一步)。我也尝试使用加壳器的 shell 配置程序执行上述curl 请求,但响应相同。无法弄清楚我是否必须允许 github ui 的某些权限?或者还有什么办法可以做到这一点?提前致谢。

git packer github-actions

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

npm ci 只能安装具有现有 package-lock.json 或 npm-shrinkwrap.json 且 lockfileVersion >= 1 的软件包

npm ci这是我在 GitHub Action 文件中运行命令安装依赖项时遇到的问题。

我正在开发一个博览会管理的应用程序,并用作GitHub ActionsCI 来触发构建,每当我将代码推送到developmemt分支时。

这是我的构建脚本:

name: EAS PIPELINE
on:
  push:
    branches:
      - development
  workflow_dispatch:

jobs:
  build:
    name: Install and build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          persist-credentials: false

      - name: Setup Node.js
        uses: actions/setup-node@v1
        with:
          node-version: 14.x

      - name: Setup Expo
        uses: expo/expo-github-action@v6
        with:
          expo-version: 4.x
          token: ${{ secrets.EXPO_TOKEN }}
          expo-cache: true

      - name: Install dependencies
        run: npm ci

      - name: Build on EAS
        run: EAS_BUILD_AUTOCOMMIT=${{1}} npx eas-cli …
Run Code Online (Sandbox Code Playgroud)

continuous-integration npm expo github-actions

79
推荐指数
7
解决办法
13万
查看次数

使用 GitHub Actions 时出现“等待跑步者接受此作业”错误

当我在配置中使用 GitHub Actions 时,等待时间很长,并且显示“正在等待跑步者接手此作业”。

“跑者”是什么意思?我该如何解决这个问题?

github github-actions

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

如何解决 git push 上的“拒绝允许 OAuth 应用程序创建或更新工作流”

得到

拒绝允许 OAuth 应用程序在.github/workflows/cd.yml没有workflow范围的情况下创建或更新工作流”

git push。如何授予workflow范围?

git github github-actions

75
推荐指数
9
解决办法
3万
查看次数

github-actions[bot] 权限被拒绝

我正在使用 mkdocs 为我的项目生成文档,现在我无法将这些文档部署到 Github 页面,它告诉我:

远程:github-actions[bot] 对 XXX.git 的权限被拒绝。致命:无法访问“XXX”:请求的 URL 返回错误:403

这是我的CI配置

还有我的存储库秘密:(这两个GIT_ACTIONS_PUSH都是我个人的访问令牌。)

如果我CI手动启动该过程,将会像这样CI崩溃。

我该如何解决?

github-api github-actions

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

如何在本地运行 GitHub Actions 工作流?

我计划使用 Docker 将我们的 Travis CI 构建移动到 GitHub Actions 以进行我们的每次提交测试。

我可以在本地重复运行这些新的 GitHub Actions 工作流程吗?是否有在本地运行任何 GitHub Actions 工作流程的通用方法?

github-actions

65
推荐指数
6
解决办法
3万
查看次数

Github 操作上的工作流之间的依赖关系

我有一个具有两个工作流程的 monorepo:

.github/workflows/test.yml

name: test

on: [push, pull_request]

jobs:
  test-packages:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: test packages
        run: |
          yarn install
          yarn test
...
Run Code Online (Sandbox Code Playgroud)

.github/workflows/deploy.yml

name: deploy

on:
  push:
    tags:
      - "*"

jobs:
  deploy-packages:
    runs-on: ubuntu-latest
    needs: test-packages
    steps:
      - uses: actions/checkout@v1
      - name: deploy packages
        run: |
          yarn deploy
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
...
Run Code Online (Sandbox Code Playgroud)

这不起作用,我无法在另一个工作流程中引用作业:

### ERRORED 19:13:07Z

- Your workflow file was invalid: The pipeline is not valid. The pipeline must contain at least …
Run Code Online (Sandbox Code Playgroud)

continuous-integration github continuous-deployment github-actions

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

如何运行 github-actions 步骤,即使上一步失败,但仍无法完成作业

我正在尝试遵循 Github 使用 github 操作测试我的构建的示例,然后压缩测试结果并将它们作为工件上传。 https://help.github.com/en/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts#uploading-build-and-test-artifacts

但是,当我的测试失败时,我该怎么办。这是我的行动。当我的测试通过一切正常时,我的结果会被压缩并导出为工件,但如果我的测试失败,它会停止工作中的其余步骤,因此我的结果永远不会发布。
github-ci-result
我尝试添加 continue-on-error: true https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on -error
这使它在失败后继续并上传我的测试结果。但是即使我的测试步骤失败,该作业也被标记为通过。有没有办法让它上传我的工件,即使一个步骤失败,同时仍然将整个工作标记为失败?

name: CI
on:
  pull_request:
    branches:
    - master
  push:
    branches:
      - master

jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1    
    - name: Test App
      run: ./gradlew test

    - name: Archive Rest Results
      uses: actions/upload-artifact@v1
      with:
        name: test-results
        path: app/build/reports/tests
Run Code Online (Sandbox Code Playgroud)

github github-actions

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

在另一个目录中运行操作

我刚刚开始探索 Github 操作,但是我发现自己在多个地方放置了一个命令。

我有一个composer.json不在根目录中的 PHP 项目,我的结构如下所示:

my-project:
    readme.md
    app:
        composer.json
Run Code Online (Sandbox Code Playgroud)

显然还有更多内容并且有一个原因,但我composer.json位于一个名为“app”的子目录中。因此,在我的工作流程中,我每次都必须 cd 进入该文件夹才能运行命令:

name: CI

on: [push]

jobs:
  phpunit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Setup Symfony
        run: |
          cd app
          cp .env.dev .env
      - name: Install Composer Dependencies
        run: |
          cd app
          composer install --prefer-dist
      - name: Run Tests
        run: |
          cd app
          php bin/phpunit
Run Code Online (Sandbox Code Playgroud)

如何cd app在每个阶段删除?

github github-actions

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