#!/bin/sh # The native RISC-V check (oxygenflow#69): on narvi-1, a riscv64 board, # build oxy natively and use it, so a release is known to work on real # RISC-V hardware, not only to cross-compile for it (dist does that). set -eu uname -m cargo build --release --locked -p oxy oxy=/src/target/release/oxy "$oxy" --version # A repository's life in miniature: an identity, a signed change, a # bookmark, a merge, and a full integrity check. export OXY_HOME="$(mktemp -d)" cd "$(mktemp -d)" "$oxy" --plain init "$oxy" --plain identity create --name "narvi-1 check" --email ci@oxygenhub.invalid "$oxy" --plain config --user core.sign change echo one > a.txt "$oxy" --plain commit -m "first" "$oxy" --plain bookmark create side "$oxy" --plain bookmark switch side echo two > b.txt "$oxy" --plain commit -m "second, on side" "$oxy" --plain bookmark switch main "$oxy" --plain merge side "$oxy" --plain log "$oxy" --plain verify "$oxy" --plain fsck test -f b.txt echo "oxy works natively on $(uname -m)"