libreddit/.github/workflows/main-rust.yml

79 lines
2.2 KiB
YAML
Raw Normal View History

2023-06-01 01:47:58 +02:00
name: Rust Build & Publish
2020-12-04 06:07:01 +01:00
on:
push:
paths-ignore:
- "**.md"
2023-06-01 01:47:58 +02:00
branches:
2023-06-01 01:47:58 +02:00
- 'main'
- 'master'
release:
types: [published]
2020-12-04 06:07:01 +01:00
env:
CARGO_TERM_COLOR: always
jobs:
build:
2023-06-01 01:47:58 +02:00
runs-on: ubuntu-latest
2020-12-04 06:07:01 +01:00
steps:
2023-06-01 01:47:58 +02:00
- name: Checkout sources
uses: actions/checkout@v3
- name: Cache Packages
2023-06-01 01:50:38 +02:00
uses: Swatinem/rust-cache@v2
2023-06-01 01:47:58 +02:00
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
# Building actions
- name: Build
2023-06-03 22:15:24 +02:00
run: RUSTFLAGS='-C target-feature=+crt-static' cargo build --release --target x86_64-unknown-linux-gnu
2021-12-27 22:53:58 +01:00
- name: Calculate SHA512 checksum
2023-06-03 22:30:58 +02:00
run: sha512sum target/x86_64-unknown-linux-gnu/release/libreddit > libreddit.sha512
- name: Calculate SHA256 checksum
2023-06-03 22:30:58 +02:00
run: sha256sum target/x86_64-unknown-linux-gnu/release/libreddit > libreddit.sha256
2023-06-01 01:47:58 +02:00
- uses: actions/upload-artifact@v3
2021-03-27 04:00:47 +01:00
name: Upload a Build Artifact
with:
name: libreddit
path: |
2023-06-03 22:30:58 +02:00
target/x86_64-unknown-linux-gnu/release/libreddit
libreddit.sha512
libreddit.sha256
2021-03-26 22:48:00 +01:00
- name: Versions
id: version
2023-06-01 01:47:58 +02:00
run: echo "VERSION=$(cargo metadata --format-version 1 --no-deps | jq .packages[0].version -r | sed 's/^/v/')" >> "$GITHUB_OUTPUT"
2021-03-26 22:48:00 +01:00
# Publishing actions
- name: Publish to crates.io
if: github.event_name == 'release'
run: cargo publish --no-verify --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
2021-03-26 22:48:00 +01:00
- name: Release
uses: softprops/action-gh-release@v1
if: github.base_ref != 'master' && github.event_name == 'release'
with:
2023-06-01 01:47:58 +02:00
tag_name: ${{ steps.version.outputs.VERSION }}
name: ${{ steps.version.outputs.VERSION }} - ${{ github.event.head_commit.message }}
2021-03-26 22:48:00 +01:00
draft: true
files: |
2023-06-03 22:30:58 +02:00
target/x86_64-unknown-linux-gnu/release/libreddit
libreddit.sha512
2023-06-01 01:47:58 +02:00
libreddit.sha256
2021-03-26 22:48:00 +01:00
body: |
2021-12-27 19:15:25 +01:00
- ${{ github.event.head_commit.message }} ${{ github.sha }}
generate_release_notes: true
2021-03-26 22:48:00 +01:00
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}