Skip to content

Update release workflow #22

Update release workflow

Update release workflow #22

Workflow file for this run

name: Release
on:
push:
tags:
- "*"
jobs:
build-aarch64-apple-darwin:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
target: aarch64-apple-darwin
- uses: actions-rs/cargo@v1
with:
command: build
args: --target aarch64-apple-darwin --release
- run: ls target
- uses: actions/upload-artifact@v3
with:
name: aarch64-apple-darwin
path: target/aarch64-apple-darwin/release/upnotify
build-x86_64-apple-darwin:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
target: x86_64-apple-darwin
- uses: actions-rs/cargo@v1
with:
command: build
args: --target x86_64-apple-darwin --release
- uses: actions/upload-artifact@v3
with:
name: x86_64-apple-darwin
path: target/x86_64-apple-darwin/release/upnotify
build-aarch64-unknown-linux-gnu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install cross compilation tools
run: sudo apt install -y gcc-aarch64-linux-gnu
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
target: aarch64-unknown-linux-gnu
- run: RUSTFLAGS+="-C linker=aarch64-linux-gnu-gcc" cargo build --target aarch64-unknown-linux-gnu --release
- uses: actions/upload-artifact@v3
with:
name: aarch64-unknown-linux-gnu
path: target/aarch64-unknown-linux-gnu/release/upnotify
build-x86_64-unknown-linux-gnu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
target: x86_64-unknown-linux-gnu
- uses: actions-rs/cargo@v1
with:
command: build
args: --target x86_64-unknown-linux-gnu --release
- uses: actions/upload-artifact@v3
with:
name: x86_64-unknown-linux-gnu
path: target/x86_64-unknown-linux-gnu/release/upnotify
build-x86_64-pc-windows-msvc:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
target: x86_64-pc-windows-msvc
- uses: actions-rs/cargo@v1
with:
command: build
args: --target x86_64-pc-windows-msvc --release
- uses: actions/upload-artifact@v3
with:
name: x86_64-pc-windows-msvc
path: target/x86_64-pc-windows-msvc/release/upnotify.exe
build-aarch64-pc-windows-msvc:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
target: aarch64-pc-windows-msvc
- uses: actions-rs/cargo@v1
with:
command: build
args: --target aarch64-pc-windows-msvc --release
- uses: actions/upload-artifact@v3
with:
name: aarch64-pc-windows-msvc
path: target/aarch64-pc-windows-msvc/release/upnotify.exe
archive:
permissions: write-all
runs-on: ubuntu-latest
needs:
- build-aarch64-apple-darwin
- build-x86_64-apple-darwin
- build-aarch64-unknown-linux-gnu
- build-x86_64-unknown-linux-gnu
- build-x86_64-pc-windows-msvc
- build-aarch64-pc-windows-msvc
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v3
with:
name: aarch64-apple-darwin
path: target/aarch64-apple-darwin/release/upnotify
- uses: actions/download-artifact@v3
with:
name: x86_64-apple-darwin
path: target/x86_64-apple-darwin/release/upnotify
- uses: actions/download-artifact@v3
with:
name: aarch64-unknown-linux-gnu
path: target/aarch64-unknown-linux-gnu/release/upnotify
- uses: actions/download-artifact@v3
with:
name: x86_64-unknown-linux-gnu
path: target/x86_64-unknown-linux-gnu/release/upnotify
- uses: actions/download-artifact@v3
with:
name: x86_64-pc-windows-msvc
path: target/x86_64-pc-windows-msvc/release/upnotify.exe
- uses: actions/download-artifact@v3
with:
name: aarch64-pc-windows-msvc
path: target/aarch64-pc-windows-msvc/release/upnotify.exe
- uses: extractions/setup-just@v1
- uses: actions-rs/cargo@v1
with:
command: install
args: toml-cli
- run: gh release -R goreleaser/nfpm download -p 'nfpm_*_amd64.deb' -O nfpm.deb
env:
GH_TOKEN: ${{ github.token }}
- run: sudo dpkg -i nfpm.deb
- run: just archive-all do-release-package-ci
env:
GH_TOKEN: ${{ github.token }}