caesar-transfer/.github/workflows/publish.yml
2024-04-26 20:40:17 +02:00

49 lines
1.1 KiB
YAML

name: Build and Publish
on:
push:
branches: ["main"]
tags:
- '*'
jobs:
publish:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- name: linux
os: ubuntu-latest
artifact_name: caesar
asset_name: caesar-linux-amd64
- name: windows
os: windows-latest
artifact_name: caesar.exe
asset_name: caesar-windows-amd64
- name: macos
os: macos-latest
artifact_name: caesar
asset_name: caesar-macos-amd64
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Protoc
uses: arduino-libraries/arduino-protoc-action@v1
with:
protoc-version: '3.21.12'
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Build
run: cargo build --release --locked
- name: Upload binaries to release
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.asset_name }}
path: ${{ matrix.artifact_name }}