标签: github-release

将 github 操作中的工件添加到版本中

因此,我尝试在 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

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

Travis根据矩阵参数进行部署

我有一个可以在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)

release release-management travis-ci github-release

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

使用 GitHub Actions 创建标签而不是发布

目前在我的 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 快照的效果:快照只是标签;尽管它们出现在版本中,但它们的处理方式不同。

我应该如何修改我的工作流程文件来实现这一点?谢谢!

github github-api git-tag github-release github-actions

5
推荐指数
3
解决办法
5846
查看次数

使用 Node.js 从私有存储库下载 zip 版本

我正在尝试从私人存储库下载 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 download node.js github-release private-repository

4
推荐指数
1
解决办法
1639
查看次数

如何通过 Pull Request 工作流程使用 Github 发布功能

我在 Github 上有一个项目,所有团队都使用 Pull Request 工作流程。所以每个开发人员都有一个主存储库的分叉。

解决添加新功能问题的过程如下:

  1. 开发人员在其本地存储库中创建一个分支(从 master 分叉)
  2. 开发人员开始处理解决问题的票证
  3. 一旦开发人员完成了票证,他就会将更改提交到本地存储库,并将更改推送到 Github 中的 Fork
  4. 然后,他从该分支向 Master 请求一个 Pull 请求
  5. 团队负责人访问主存储库并验证拉取请求并接受更改并将其合并到主存储库。

当我们要发布时,发布的代码来自 Master 存储库,但我们希望像 Master 中的代码的基线一样,这样任何其他接受并合并到 Master 中的 Pull 请求都不会更改我们的代码即将发布。

我们是否可以使用来自 Github 的发布功能在某个时刻获取 Master 存储库代码的副本,并保持该代码不变,即使某些新的 Pull 请求合并到 master 中也是如此?

github pull-request github-release

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

如何删除 github 存储库中的所有版本和标签

我尝试了 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 上有不同的默认值?

git github github-release github-cli

2
推荐指数
1
解决办法
1510
查看次数

Github Actions:多个作业单一发布

我在 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-release github-actions

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