Skip to content

Refactor build sys

Refactor build sys #9

Workflow file for this run

name: Code linting
on:
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
- labeled
env:
USER: runner
# Cancel the current workflow when new commit pushed
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
checkfmt:
name: "Check formats"
strategy:
fail-fast: false
runs-on: [self-hosted, linux, nixos]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.head_ref }}
- name: "Run testcases"
run: |
RET=0
warnOnFileChanged() {
if ! git diff -q --exit-code; then
RET=1
local msg="$1"; shift
echo "$msg"
echo "$msg" >> $GITHUB_STEP_SUMMARY
git reset --hard
fi
}
nix develop '.#t1.elaborator' -c mill -i configgen.reformat
nix develop '.#t1.elaborator' -c mill -i rocketv.reformat
nix develop '.#t1.elaborator' -c mill -i t1.reformat
nix develop '.#t1.elaborator' -c mill -i t1rocket.reformat
warnOnFileChanged "* Scala format fail, please run 'nix develop '.#t1.elaborator' -c mill -i _.reformat'"
nix fmt
warnOnFileChanged "* Nix format fail, please run 'nix fmt'"
pushd difftest
nix run '.#cargo' -- fmt
warnOnFileChanged "* Cargo format fail, please run 'cd difftest; nix run .#cargo -- format'"
popd
pushd t1rocketemu
nix run '.#cargo' -- fmt
warnOnFileChanged "* Cargo format fail, please run 'cd t1rocketemu; nix run .#cargo -- format'"
popd
if nix run '.#ripgrep' -- '\p{Script=Han}' t1 > zh-hans.txt; then
RET=1
msg="* Found ZH_CN comments"
echo "$msg"
echo "$msg" >> $GITHUB_STEP_SUMMARY
echo "```text" >> $GITHUB_STEP_SUMMARY
cat zh-hans.txt >> $GITHUB_STEP_SUMMARY
echo "```" >> $GITHUB_STEP_SUMMARY
git reset --hard
fi
exit $RET