Skip to content

build: Handle detached HEAD and shadow.rs in target/ #138

build: Handle detached HEAD and shadow.rs in target/

build: Handle detached HEAD and shadow.rs in target/ #138

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'
- uses: actions/cache@v3
with:
path: |
~/.cargo/registry/index
~/.cargo/registry/cache
~/.cargo/git
target
key: musl-cargo-${{ hashFiles('**/Cargo.toml') }}
- name: Run fileserver
run: |
fixtures/start_fileserver.sh &
- name: Remove files for a build with correct version info
run: |
find target/ -name 'shadow*' -exec rm -r {} + || true
find target/ -name 'tsumugu' -delete || true
- name: Test & Compile
run: |
mkdir -p ~/.cargo/{git,registry}
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 target/
# show version info
RUST_LOG=debug target/x86_64-unknown-linux-musl/release/tsumugu --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/tsumugu