标签: github-actions

如何在 Windows Server 上的 GitHub 操作中设置环境变量?

首先让我解释一下我想要做什么。我确实编写了 ac# .net 应用程序,如果标签被推送到主分支,我想构建它。这个构建应该创建一个名为 like 的版本Release {Tag}。该版本应该获得由 Windows Server 构建的所有工件。现在我只有在没有东西的情况下才能获得标签。

我确实在这里找到了一个关于如何设置环境变量的问题,但这似乎只适用于这样的 linux。我确实尝试在官方文档中查找信息,但没有使其进入工作状态。目前我正在使用以下代码尝试从提交中获取标签。

name: Live build

on: [push]
  #push:
  #  tags:
  #   - '*'

jobs:
   build:
     name: Create build artifact
     runs-on: windows-latest
     steps:
       - name: Clone repository
         uses: actions/checkout@v2
         with: 
           ref: develop
       - name: Get current tag
         run: echo '::set-env name=tag::${(("${env:GITHUB_REF}" -split "/")[-1] -replace " ","")}'
       - name: Show current tag
         run: echo "${env.tag}"
Run Code Online (Sandbox Code Playgroud)

不幸的是,这是结果,在我看来并不正确

1

我确实尝试echo '::set-env name=tag::${(("${env:GITHUB_REF}" -split "/")[-1] -replace " ","")}'用以下测试替换这部分调用 …

github-actions

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

在 GitHub 操作工作流中安装 GitHub 存储库

我正在尝试构建一个 GitHub 操作工作流,其中涉及安装其他私人代表中存在的依赖项。我已经尝试了各种排列(我现在有点迷失了方向),但我无法让它们中的任何一个工作。

我创建了一个秘密,存储在TOKEN_GITHUB其中授予访问其他存储库的权限,因此我可以正确安装,因为我相信所提供的范围仅限于当前代表。

这是一个示例 GitHub 工作流文件,它最终通过 CDK 部署多个 Lambda,但为了简单起见,我将其排除在外:
deploy.yml

name: Lint, Audit, Test & Deploy

on:
    push:
        branches: [master]

jobs:
    build:
        runs-on: ubuntu-latest
        if: "!contains(github.event.head_commit.message, 'ci skip')"

        steps:
            - uses: actions/checkout@v2
            - uses: actions/setup-node@v1
              with:
                  node-version: 12
            - name: getList Lambda
              run: |
                  cd lambdas
                  cd getList
                  npm ci
                  npm audit --production --audit-level=moderate
            - name: getItem Lambda
              run: |
                  cd lambdas
                  cd getItem
                  npm ci
                  npm audit --production --audit-level=moderate
            - name: saveItem Lambda
              run: |
                  cd …
Run Code Online (Sandbox Code Playgroud)

github github-actions

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

在 Git Push 上创建拉取请求

我有 2 个分支的 GitHub 存储库:“master”和“develop”。

我们的工作流程是,任何代码都应该提交到“develop”分支,然后推送到 GitHub,然后应该创建一个 Pull Request 将提交合并到“master”分支。

我正在尝试编写一个操作,一旦开发人员将提交推送到分支“develop”并具有以下脚本,它将创建一个拉取请求:

name: Create pull request
on:
  push:
    branches:
      - develop
jobs:
  prForMasterBranch:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          ref: master
      - name: Create Pull Request
        uses: peter-evans/create-pull-request@v2
        with:
          commit-message: update master branch
          title: Update master branch
          branch: develop
Run Code Online (Sandbox Code Playgroud)

我可以看到这个动作在“develop”分支的“Push”事件上已经成功执行了,但是我看不到任何新的Pull Requests!

我检查了该操作的日志,并在创建拉取请求的末尾找到了以下几行:

将拉取请求分支推送到 'origin/develop'
分支 'develop' 不再与基础分支 'master' 不同
关闭拉取请求并删除分支 'develop'

似乎我错过了一些东西,但无法弄清楚。

任何帮助表示赞赏。

github github-actions

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

Rust 进程使用 GitHub 操作失败,退出代码为 101

代码在我的本地机器上运行良好,没有出现错误。但是当我推送到 GitHub 时,构建失败了。

这是我的工作流文件块:

runs-on: ${{ matrix.platform }}
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2
      - name: Install Rust Toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly
      - name: Install `rust-src` Rustup Component
        run: rustup component add rust-src
      - name: Run `cargo check`
        uses: actions-rs/cargo@v1
        with:
          command: check
Run Code Online (Sandbox Code Playgroud)

这是错误。

error: failed to read `/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/Cargo.toml`
21
##[error]failed to read `/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/Cargo.toml`
22
Caused by:
23
  No such file or directory (os error 2)
24
##[error]The process '/usr/share/rust/.cargo/bin/cargo' failed with exit code 101 …
Run Code Online (Sandbox Code Playgroud)

rust rust-cargo github-actions

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

推送标签时如何在GitHub操作上获取分支名称?

我使用触发我的工作流程

on:
  push:
    tags:
Run Code Online (Sandbox Code Playgroud)

GITHUB_REF 在这种情况下不会包含分支名称,我怎么能得到它?

github github-actions

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

将文件复制到 GitHub 工作区

我有几个步骤可以将一些文件夹从源代码复制到 GitHub WorkSpace,如下所示。在运行这个构建我看到

警告:未找到具有提供路径的文件:${GITHUB_WORKSPACE}。不会上传任何工件。

我检查并确认两个文件夹都不为空。我错过了什么?

   - name: copy arm templates
      run: Copy 'Infrastructure/' '${GITHUB_WORKSPACE}/Infrastructure'
      shell: powershell
      
    - name: copy release management scripts
      run: Copy 'Scripts/' '${GITHUB_WORKSPACE}/Scripts'
      shell: powershell
      
    - name: publish artifact
      uses: actions/upload-artifact@v2
      with:
        path: ${GITHUB_WORKSPACE}
        name: ${{ env.VERSION_MAJOR }}.${{ env.VERSION_MINOR }}
  
Run Code Online (Sandbox Code Playgroud)

github github-actions

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

如何从子目录运行多个 GitHub Actions 工作流

我有 3 个目录 ./github/workflows/

  • 短绒
  • 功能测试
  • 单元测试

在每个目录中,我都有多个工作流.yml文件,例如linters/codeQuality.yml

我的问题是,当发出拉取请求时,只会执行 root 中的工作流文件,而不是这些目录中的工作流文件。

我怎么解决这个问题?

workflow github github-actions

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

GitHub Actions:如何在容器内运行测试

我想在容器内运行 django 测试用例。我可以从 docker hub 拉取私有镜像。但是当我运行命令进行测试时,它无法运行。

任何人都尝试在容器内运行测试用例。

jobs:
test:
container:
  image: abcd
  credentials:
    username: "<username>"
    password: "<password>"

steps:
  - uses: actions/checkout@v2
  - name: Display Python version
    run: |
      python -m pip install --upgrade pip
      pip install -r requirements/dev.txt
  - name: run test
    run: |
      python3 manage.py test
   
Run Code Online (Sandbox Code Playgroud)

docker github-actions github-actions-services

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

在 Github Actions 上安装后找不到我的 python 模块

当我在本地环境中安装我的示例模块时,python 能够在导入模块时找到它。然而,当由 Github Actions 执行时,工作流失败并且报告的错误是我的模块 (ci-test) 未安装。

main.yaml:

  - name: Install ci-test package
    run: |
      python setup.py build
      python setup.py install 
      python -c "import ci_test"
Run Code Online (Sandbox Code Playgroud)

完整的 yaml 文件位于此处。Github Actions 的错误输出是:

Installed /home/runner/.local/lib/python3.7/site-packages/ci_test-0.0.1-py3.7.egg
Processing dependencies for ci-test==0.0.1
Finished processing dependencies for ci-test==0.0.1
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'ci_test'
Error: Process completed with exit code 1.
Run Code Online (Sandbox Code Playgroud)

python github-actions

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

在 GitHub Actions 中使用 Python 运行 Firestore 模拟器

我有一个使用Firestore. 在此之前我正在尝试编写 GitHub 操作,我现在使用Travis,现在我想转向 GitHub 操作。在Travis上一切正常,但在 GitHub Actions 上出现错误。

错误:(此错误不是问题模拟器应该在没有身份验证的情况下工作,因为它在其他一些存储库中工作但不在此上)

E: google.auth.exceptions.DefaultCredentialsError: 无法自动确定凭据。请设置 GOOGLE_APPLICATION_CREDENTIALS 或明确创建凭据并重新运行应用程序。有关更多信息,请参阅https://cloud.google.com/docs/authentication/getting-started

工作流程(不工作): Repo FireO Python

name: Python package

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        python-version: [3.7]

    steps:
      - uses: actions/checkout@v2
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}

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

python google-cloud-platform google-cloud-firestore github-actions

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