我正在创建我的第一个 GitHub 操作,但我不明白为什么输出为空。
动作.yml
name: "Run Endtest functional tests"
description: "Register a deployment event with Endtest and run the functional tests"
branding:
icon: play-circle
color: white
inputs:
app_id:
description: 'The Endtest App ID for your account. You can get it from the https://endtest.io/settings page.'
required: true
app_code:
description: 'The Endtest App Code for your account. You can get it from the https://endtest.io/settings page.'
required: true
api_request:
description: 'The Endtest API request for starting the test execution.'
required: true
number_of_loops:
description: …Run Code Online (Sandbox Code Playgroud) 如果我有一个公共存储库,其中有一个工作流设置要在将某些内容推送到主控时触发,那么我可以从不同的存储库触发另一个工作流来触发吗?
我想这样做的原因是因为我的公共存储库用于允许任何人做出贡献,但我想创建另一个私有存储库来处理不可见的构建过程/部署。有没有更好的方法来使用 GitHub 操作处理此类用例?- 我基本上不希望我的服务器上的构建过程被公开。
我的build_and_test.yml文件.github/workflows如下:
name: CI
on:
push:
branches:
- main
- name-of-my-branch
pull_request:
branches:
- main
jobs:
build:
# Code to build
Run Code Online (Sandbox Code Playgroud)
但是,当我推送到分支以外的任何分支时main,构建不会触发。有什么想法可能是为什么吗?
我正在尝试使用 GitHub Actions 在默认 Angular 项目上设置 CI 管道。我可以在本地成功运行单元测试,但遇到 GitHub Actions 问题。我需要更改什么才能使其成功运行?
\nname: Node.js CI\n\non:\n push:\n branches: [ master ]\n pull_request:\n branches: [ master ]\n\njobs:\n build:\n\n runs-on: ubuntu-latest\n\n strategy:\n matrix:\n node-version: [10.x, 12.x, 14.x]\n\n steps:\n - uses: actions/checkout@v2\n - name: Use Node.js ${{ matrix.node-version }}\n uses: actions/setup-node@v1\n with:\n node-version: ${{ matrix.node-version }}\n - run: npm ci\n - run: npm run build --if-present\n - run: npm test\nRun Code Online (Sandbox Code Playgroud)\n这是此步骤的日志输出
\n> ng test\n\nCompiling @angular/core/testing : es2015 as esm2015\nCompiling @angular/platform-browser/testing : es2015 …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 Github 操作将 Angular (v11) 库的代码覆盖率发布到 Codecov.io
我已经从市场设置了官方 Codecov github 操作
name: tests
on:
pull_request:
branches: [ master ]
jobs:
build:
# Machine environment:
# We specify the Node.js version manually below, and use versioned Chrome from Puppeteer.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 14
uses: actions/setup-node@v1
with:
node-version: 14
- name: Install dependencies
run: npm install
- name: Build
run: npm run build-lib
- name: Test
run: npm run test-lib-headless
- name: Codecov
uses: codecov/codecov-action@v1.1.1 …Run Code Online (Sandbox Code Playgroud) 在下面的 GitHub Actions 工作流程中,我执行了一个 Gradle 构建,该构建针对 Micronaut 应用程序运行集成测试。该应用程序依赖于
security/image:0.1.15jobs:
build-test:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '15' ]
services:
tempoapp-db:
image: mariadb:10.4.15
ports:
- 3306:3306
env:
MYSQL_ROOT_PASSWORD: foo
MYSQL_DATABASE: xoxo
MYSQL_USER: bar
MYSQL_PASSWORD: foobar
security:
image: security/image:0.1.15
env:
JAVA_TOOL_OPTIONS: "-Dcallback.url=http://<what to place here?>:8090"
credentials:
username: ${{ secrets.PACKAGES_USER }}
password: ${{ secrets.PACKAGES_TOKEN }}
ports:
- 6000:8080
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个 GitHub 操作,该操作在发布版本时触发,并将构建我的项目并上传某些工件作为发布资产。我能找到的唯一示例依赖于使用该create-release操作,该操作失败,因为版本已经创建。我的工作流程文件是这样的:
name: Build for Release
on:
release:
types: [published]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Build
run: ...
- name: Zip Asset
run: ...
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ ???? What Goes Here ???? }}
asset_path: build/MyProject.zip
asset_name: MyProject.zip
asset_content_type: application/zip
Run Code Online (Sandbox Code Playgroud)
我的标签将是v0.1.0、v0.1.1等v0.2.0,并且发布名称与这些标签相匹配。
我创建了名为“main”的环境,但以下工作流程出错:已创建环境:

以下是我的 github 工作流程:
name: Deploy ADf ARM
on:
workflow_dispatch:
environment:
name: main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
# Checkout code
- uses: actions/checkout@main
...
Run Code Online (Sandbox Code Playgroud)
目前它注意到错误:
The workflow is not valid. .github/workflows/deploy-adf-arm.yml (Line: 7, Col: 1): Unexpected value 'environment'
Run Code Online (Sandbox Code Playgroud)
我如何参考这个环境来工作?
运行以下操作时,它会在 上失败flutter analyze。如果我删除它,稍后就会失败flutter build。这两个命令在本地都可以正常工作。我理解该消息,但无法理解包路径可能有什么问题。
GitHub 操作错误:
\n flutter analyze\n shell: /bin/bash -e {0}\n env:\n JAVA_HOME_12.0.2_x64: /opt/hostedtoolcache/jdk/12.0.2/x64\n JAVA_HOME: /opt/hostedtoolcache/jdk/12.0.2/x64\n JAVA_HOME_12_0_2_X64: /opt/hostedtoolcache/jdk/12.0.2/x64\n FLUTTER_HOME: /opt/hostedtoolcache/flutter/1.22.5-stable/x64\nAnalyzing myApp... \n\n error \xe2\x80\xa2 Target of URI doesn't exist: 'package:myApp/app.dart' \xe2\x80\xa2 lib/main.dart:7:8 \xe2\x80\xa2 uri_does_not_exist\n error \xe2\x80\xa2 The function 'App' isn't defined \xe2\x80\xa2 lib/main.dart:38:16 \xe2\x80\xa2 undefined_function\n\n2 issues found. (ran in 18.4s)\nError: Process completed with exit code 1.\nRun Code Online (Sandbox Code Playgroud)\n动作来源:
\nname: Flutter Android Test and Build\n\non:\n push:\n branches: [master]\n pull_request:\n branches: [master]\n\njobs:\n build_android:\n runs-on: …Run Code Online (Sandbox Code Playgroud) 所以我有一个包含多个 go 项目的多个目录的存储库。有没有办法在多个工作目录上运行 github 操作,这样我就不必使用带有 github 操作的冗余 yaml 了?为了使用 golang 自动进行错误检查,我目前有:
errcheck:
name: Errcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: check
uses: grandcolline/golang-github-actions@v1.1.0
working-directory: ./app1
with:
run: errcheck
token: ${{ secrets.GITHUB_TOKEN }}
Run Code Online (Sandbox Code Playgroud)
但我想要:
errcheck:
name: Errcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: check
uses: grandcolline/golang-github-actions@v1.1.0
working-directory: [./app1, ./app2]
with:
run: errcheck
token: ${{ secrets.GITHUB_TOKEN }}
Run Code Online (Sandbox Code Playgroud)