Skip to content

Version 0.4.2 (#260) #31

Version 0.4.2 (#260)

Version 0.4.2 (#260) #31

Workflow file for this run

name: release
on:
push:
tags:
- 'v*.*.*'
env:
CARGO_INCREMENTAL: 0
CARGO_NET_RETRY: 10
RUSTUP_MAX_RETRIES: 10
FETCH_DEPTH: 0 # pull in the tags for the version string
jobs:
dist-changelog:
name: dist (changelog)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: ${{ env.FETCH_DEPTH }}
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- name: Generate checklog
run: cargo xtask changelog
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: dist-changelog
path: dist
dist-x86_64-unknown-linux-gnu:
name: dist (x86_64-unknown-linux-gnu)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: ${{ env.FETCH_DEPTH }}
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- name: Dist
run: cargo xtask dist
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: dist-x86_64-unknown-linux-gnu
path: dist
dist-x86_64-unknown-linux-musl:
name: dist (x86_64-unknown-linux-musl)
runs-on: ubuntu-latest
container:
image: rust:alpine
volumes:
- /usr/local/cargo/registry
env:
GURK_TARGET: x86_64-unknown-linux-musl
steps:
- name: Install dependencies
run: apk add --no-cache musl-dev clang lld protoc
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: ${{ env.FETCH_DEPTH }}
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
target: x86_64-unknown-linux-musl
override: true
- name: Dist
# FIXME: building xtask without explicit target segfaults rustc
run: cargo run -p xtask --target x86_64-unknown-linux-musl -- dist
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: dist-x86_64-unknown-linux-musl
path: dist
dist-aarch64-unknown-linux-gnu:
name: dist (aarch64-unknown-linux-gnu)
runs-on: ubuntu-latest
env:
GURK_TARGET: aarch64-unknown-linux-gnu
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: ${{ env.FETCH_DEPTH }}
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: aarch64-unknown-linux-gnu
profile: minimal
override: true
- name: Install target toolchain
run: sudo apt-get install gcc-aarch64-linux-gnu
- name: Dist
run: cargo xtask dist
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: dist-aarch64-unknown-linux-gnu
path: dist
dist-aarch64-unknown-linux-musl:
name: dist (aarch64-unknown-linux-musl)
runs-on: ubuntu-latest
container:
image: rust:alpine
volumes:
- /usr/local/cargo/registry
env:
GURK_TARGET: aarch64-unknown-linux-musl
steps:
- name: Install dependencies
run: apk add --no-cache musl-dev clang lld llvm protoc
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: ${{ env.FETCH_DEPTH }}
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
target: aarch64-unknown-linux-musl
override: true
- name: Dist
# FIXME: building xtask without explicit target segfaults rustc
run: cargo run -p xtask --target x86_64-unknown-linux-musl -- dist
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: dist-aarch64-unknown-linux-musl
path: dist
dist-x86_64-apple-darwin:
name: dist (x86_64-apple-darwin)
runs-on: macos-latest
env:
GURK_TARGET: x86_64-apple-darwin
SELECT_XCODE: /Applications/Xcode_13.2.app
steps:
- name: Select XCode version
run: sudo xcode-select -s "${SELECT_XCODE}"
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: ${{ env.FETCH_DEPTH }}
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- name: Dist
run: cargo xtask dist
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: dist-x86_64-apple-darwin
path: dist
dist-aarch64-apple-darwin:
name: dist (aarch64-apple-darwin)
runs-on: macos-latest
env:
GURK_TARGET: aarch64-apple-darwin
SELECT_XCODE: /Applications/Xcode_13.2.app
steps:
- name: Select XCode version
run: sudo xcode-select -s "${SELECT_XCODE}"
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: ${{ env.FETCH_DEPTH }}
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: aarch64-apple-darwin
profile: minimal
override: true
- name: Dist
run: cargo xtask dist
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: dist-aarch64-apple-darwin
path: dist
publish:
name: publish
runs-on: ubuntu-latest
needs:
- dist-changelog
- dist-x86_64-unknown-linux-gnu
- dist-x86_64-unknown-linux-musl
- dist-aarch64-unknown-linux-gnu
- dist-aarch64-unknown-linux-musl
- dist-x86_64-apple-darwin
- dist-aarch64-apple-darwin
steps:
- uses: actions/download-artifact@v2
with:
name: dist-changelog
path: dist
- uses: actions/download-artifact@v2
with:
name: dist-aarch64-apple-darwin
path: dist
- uses: actions/download-artifact@v2
with:
name: dist-x86_64-apple-darwin
path: dist
- uses: actions/download-artifact@v2
with:
name: dist-x86_64-unknown-linux-gnu
path: dist
- uses: actions/download-artifact@v2
with:
name: dist-x86_64-unknown-linux-musl
path: dist
- uses: actions/download-artifact@v2
with:
name: dist-aarch64-unknown-linux-gnu
path: dist
- uses: actions/download-artifact@v2
with:
name: dist-aarch64-unknown-linux-musl
path: dist
- run: ls -al
working-directory: dist
- name: Release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body_path: dist/CHANGELOG.md
files: dist/*.tar.gz
draft: true