因此,我尝试在 yml 文件上为生成的工件实现发布部分,并解释自己:我想使用 yml 文件将工件添加到我的版本中。
这是我正在为 Android 应用程序处理的唯一 yml 文件:
name: Android CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: mkdir -p app/build/outputs/apk/release
- run: echo hello > app/build/outputs/apk/release/app-release-unsigned.apk
- uses: actions/upload-artifact@v2
with:
name: my-artifact
path: app/build/outputs/apk/release/app-release-unsigned.apk
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Permition Gradlew
run: chmod +x gradlew
- name: Build Gradlew
run: ./gradlew assembleRelease
Run Code Online (Sandbox Code Playgroud) continuous-integration android github github-release github-actions
我有一个可以在Linux和OSX上运行的travis作业,我希望能够使用它为GitHub发行版的每个平台部署不同的构建工件。我的.travis.yml文件当前看起来像这样:
language: rust
cache: cargo
os:
- linux
- osx
rust:
- stable
- beta
- nightly
script:
- cargo build --release -vv
- cargo test --release --all -vv
matrix:
allow_failures:
- rust: nightly
fast_finish: true
deploy:
- provider: releases
skip_cleanup: true
api_key:
secure: <encrypted key here, removed for brevity>
before_deploy:
- cargo install cargo-deb
- cargo deb --no-build --no-strip
- ./scripts/package_linux.sh .
file_glob: true
file:
- "target/debian/ellington_0.1.0_amd64.deb"
- "releases/*_linux.zip"
on:
tags: true
os: …Run Code Online (Sandbox Code Playgroud) 目前在我的 GitHub 存储库中,我有以下每天发布夜间快照的工作流程,并使用当前日期作为发布名称和标签名称:
name: Nightly Snapshot
on:
schedule:
- cron: "59 23 * * *"
jobs:
build:
name: Release
runs-on: ubuntu-latest
steps:
- name: Get current date
id: date
run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
- name: Checkout branch "master"
uses: actions/checkout@v2
with:
ref: 'master'
- name: Release snapshot
id: release-snapshot
uses: actions/create-release@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.date.outputs.date }}
release_name: ${{ steps.date.outputs.date }}
draft: false
prerelease: false
Run Code Online (Sandbox Code Playgroud)
GitHub 将所有以这种方式创建的快照标记为最新版本。但是,我想避免这种情况,并实现类似于Swift 快照的效果:快照只是标签;尽管它们出现在版本中,但它们的处理方式不同。
我应该如何修改我的工作流程文件来实现这一点?谢谢!
我正在尝试从私人存储库下载 zip 版本,我尝试了很多解决方案,但似乎都不起作用。
这是我的代码:
function Download(url, path, options) {
updateHeader(options.stageTitles.Downloading)
let received_bytes = 0;
let total_bytes = 0;
// eslint-disable-next-line
console.log('-----------------')
// eslint-disable-next-line
console.log(url, path)
console.log('-----------------')
var req = request(
{
method: 'GET',
uri: url,
headers: {
Authorization: `token ${options.gitRepoToken}`,
'Accept': 'application/octet-stream',
'User-Agent': 'request module',
},
//encoding: null
}
);
// eslint-disable-next-line
console.log(req)
var out = fs.createWriteStream(path);
req.pipe(out);
req.on('response', data => {
// eslint-disable-next-line
console.log(data.headers, data)
total_bytes = parseInt(data.headers['content-length']);
});
req.on('data', chunk => {
received_bytes += chunk.length;
showProgress(received_bytes, total_bytes);
}); …Run Code Online (Sandbox Code Playgroud) 我在 Github 上有一个项目,所有团队都使用 Pull Request 工作流程。所以每个开发人员都有一个主存储库的分叉。
解决添加新功能问题的过程如下:
当我们要发布时,发布的代码来自 Master 存储库,但我们希望像 Master 中的代码的基线一样,这样任何其他接受并合并到 Master 中的 Pull 请求都不会更改我们的代码即将发布。
我们是否可以使用来自 Github 的发布功能在某个时刻获取 Master 存储库代码的副本,并保持该代码不变,即使某些新的 Pull 请求合并到 master 中也是如此?
我尝试了 github cli:
gh release list | sed 's/|/ /' | awk '{print $1, $8}' | while read -r line; do gh release delete -y "$line"; done
Run Code Online (Sandbox Code Playgroud)
如此处所述:https ://dev.to/dakdevs/delete-all-releases-from-github-repo-13ad
但它仅适用于名称等于标签的版本。一旦名称中包含空格,awk 就无法正确分隔列。
也许gh自文章撰写以来 cli 输出发生了变化,或者awk在 macOS 上有不同的默认值?
我在 Github runner 上有 2 份工作。第一项工作是构建 android apk。第二个用于构建 zip 文件。我想在同一个版本中同时拥有 apk 和 zip 文件。但是,在 apk 发布到版本中后,zip 文件不会发布到版本中。显示的错误是
Validation Failed {"resource":"Release","code":"already_exists","field":"tag_name"}
buid.yml::
name: Build Process
on:
push:
tags:
- v*
jobs:
Build_Android:
if: "!contains(github.event.head_commit.message, 'skip-android')"
name: Build APK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Java
uses: actions/setup-java@v2
with:
distribution: "zulu"
java-version: "12.x"
- name: Setup Flutter
uses: subosito/flutter-action@v1
with:
channel: "stable"
- name: Get Packages
run: flutter pub get
- name: Build APK
run: flutter build apk …Run Code Online (Sandbox Code Playgroud) github ×5
android ×1
download ×1
git ×1
git-tag ×1
github-api ×1
github-cli ×1
node.js ×1
pull-request ×1
release ×1
travis-ci ×1