Skip to content

build: Add missing license and repository #75

build: Add missing license and repository

build: Add missing license and repository #75

Workflow file for this run

name: Rust
on:
- push
- pull_request
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Generate Cargo.toml.cache (Ignore version=)
run: |
sed '/^version = /d' Cargo.toml > Cargo.toml.cache
- uses: actions/cache@v4
with:
path: |
~/.cargo/registry/index
~/.cargo/registry/cache
~/.cargo/git
target
key: musl-cargo-${{ hashFiles('./Cargo.toml.cache') }}
- name: Remove files for a build with correct version info
run: |
find target/ -name 'shadow*' -exec rm -r {} + || true
find target/ -name 'yukina' -delete || true
- name: Test & Compile
run: |
mkdir -p ~/.cargo/{git,registry}
# Fix git permission issue with Docker and shadow-rs
sudo chown -R root .
docker run --rm -t \
--mount type=bind,source=${{ github.workspace }},target=/volume \
--mount type=bind,source=$HOME/.cargo/registry,target=/root/.cargo/registry \
--mount type=bind,source=$HOME/.cargo/git,target=/root/.cargo/git \
--network=host \
clux/muslrust:stable \
cargo test
docker run --rm -t \
--mount type=bind,source=${{ github.workspace }},target=/volume \
--mount type=bind,source=$HOME/.cargo/registry,target=/root/.cargo/registry \
--mount type=bind,source=$HOME/.cargo/git,target=/root/.cargo/git \
--network=host \
clux/muslrust:stable \
cargo build --release
sudo chown -R runner ~/.cargo/
sudo chown -R runner .
# show version info
RUST_LOG=debug target/x86_64-unknown-linux-musl/release/yukina --version
- name: Deploy - Create and Upload Release
if: startsWith(github.ref, 'refs/tags/')
uses: ncipollo/release-action@v1
with:
artifacts: |
target/x86_64-unknown-linux-musl/release/yukina
target/x86_64-unknown-linux-musl/release/kv
- name: Deploy - Put it in artifact (if not a tag)
if: false == startsWith(github.ref, 'refs/tags/')
uses: actions/upload-artifact@v4
with:
name: yukina
path: |
target/x86_64-unknown-linux-musl/release/yukina
target/x86_64-unknown-linux-musl/release/kv
- name: Release to crates.io
if: startsWith(github.ref, 'refs/tags/')
uses: katyo/publish-crates@v2
with:
registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }}