Files
rexec/.github/workflows/release.yml
Alexandr Bogomyakov a5d2d7495f Fix CI
2023-06-20 18:21:23 +03:00

88 lines
2.4 KiB
YAML

name: Rust static build and publish
on:
push:
tags:
- '*'
env:
CARGO_TERM_COLOR: always
BUILD_TARGET: x86_64-unknown-linux-musl
BINARY_NAME: rexec
jobs:
build:
name: Build static binary
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: mbrobbel/rustfmt-check@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Build-musl
uses: gmiam/rust-musl-action@master
with:
args: cargo build --target $BUILD_TARGET --release
- uses: actions/upload-artifact@v2
name: Upload artifact
with:
name: ${{ env.BINARY_NAME }}_x86_64-linux-musl
path: target/x86_64-unknown-linux-musl/release/${{ env.BINARY_NAME }}
build_arch:
name: Arch Linux package
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- name: Install latest nightly
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
target: x86_64-unknown-linux-musl
components: rustfmt
- name: Install cargo-aur
run: cargo install cargo-aur
- name: Build PKGBUILD
uses: actions-rs/cargo@v1
with:
command: aur
- name: Build archlinux package
uses: mijailr/arch-makepkg-action@1.0.1
- uses: actions/upload-artifact@v2
name: Upload artifact PKGBUILD
with:
path: PKGBUILD
- uses: actions/upload-artifact@v2
name: Upload artifact Package
with:
path: .*\.zst
release:
name: Release binary
needs: ["build", "build_arch"]
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/download-artifact@master
id: download_binary
with:
name: ${{ env.BINARY_NAME }}_x86_64-linux-musl
path: ${{ env.BINARY_NAME }}_x86_64-linux-musl
- uses: actions/download-artifact@master
id: download_pkgbuild
with:
name: PKGBUILD
path: PKGBUILD
- uses: ncipollo/release-action@v1
name: Update release page
with:
artifacts: "${{ steps.download_pkgbuild.outputs.download-path }}/*,${{ steps.download_binary.outputs.download-path }}/*"
allowUpdates: true
body: Static build for x86_64-linux using MUSL