ci: major overhaul
- Simplify some workflow steps and auxiliary scripts - Build library using cmake when not cross-compiling - Try to fetch fixtures from cache first - Use `actions-rust-lang/setup-rust-toolchain`
This commit is contained in:
parent
7715001692
commit
e8e56255bd
11 changed files with 268 additions and 255 deletions
18
.github/scripts/cross.sh
vendored
18
.github/scripts/cross.sh
vendored
|
|
@ -1,17 +1,3 @@
|
|||
#!/bin/bash
|
||||
#!/bin/bash -eu
|
||||
|
||||
# set -x
|
||||
set -e
|
||||
|
||||
if [ "$BUILD_CMD" != "cross" ]; then
|
||||
echo "cross.sh - is a helper to assist only in cross compiling environments" >&2
|
||||
echo "To use this tool set the BUILD_CMD env var to the \"cross\" value" >&2
|
||||
exit 111
|
||||
fi
|
||||
|
||||
if [ -z "$CROSS_IMAGE" ]; then
|
||||
echo "The CROSS_IMAGE env var should be provided" >&2
|
||||
exit 111
|
||||
fi
|
||||
|
||||
docker run --rm -v /home/runner:/home/runner -w "$PWD" "$CROSS_IMAGE" "$@"
|
||||
exec docker run --rm -v /home/runner:/home/runner -w "$PWD" "$CROSS_IMAGE" "$@"
|
||||
|
|
|
|||
20
.github/scripts/make.sh
vendored
20
.github/scripts/make.sh
vendored
|
|
@ -1,19 +1,9 @@
|
|||
#!/bin/bash
|
||||
#!/bin/bash -eu
|
||||
|
||||
# set -x
|
||||
set -e
|
||||
tree_sitter="$ROOT"/target/"$TARGET"/release/tree-sitter
|
||||
|
||||
if [ "$BUILD_CMD" == "cross" ]; then
|
||||
if [ -z "$CC" ]; then
|
||||
echo "make.sh: CC is not set" >&2
|
||||
exit 111
|
||||
fi
|
||||
if [ -z "$AR" ]; then
|
||||
echo "make.sh: AR is not set" >&2
|
||||
exit 111
|
||||
fi
|
||||
|
||||
cross.sh make CC=$CC AR=$AR "$@"
|
||||
if [[ $BUILD_CMD == cross ]]; then
|
||||
cross.sh make CC="$CC" AR="$AR" "$@"
|
||||
else
|
||||
make "$@"
|
||||
exec make "$@"
|
||||
fi
|
||||
|
|
|
|||
27
.github/scripts/tree-sitter.sh
vendored
27
.github/scripts/tree-sitter.sh
vendored
|
|
@ -1,28 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
# set -x
|
||||
set -e
|
||||
|
||||
if [ -z "$ROOT" ]; then
|
||||
echo "The ROOT env var should be set to absolute path of a repo root folder" >&2
|
||||
exit 111
|
||||
fi
|
||||
|
||||
if [ -z "$TARGET" ]; then
|
||||
echo "The TARGET env var should be equal to a \`cargo build --target <TARGET>\` command value" >&2
|
||||
exit 111
|
||||
fi
|
||||
#!/bin/bash -eu
|
||||
|
||||
tree_sitter="$ROOT"/target/"$TARGET"/release/tree-sitter
|
||||
|
||||
if [ "$BUILD_CMD" == "cross" ]; then
|
||||
if [ -z "$CROSS_RUNNER" ]; then
|
||||
echo "The CROSS_RUNNER env var should be set to a CARGO_TARGET_*_RUNNER env var value" >&2
|
||||
echo "that is available in a docker image used by the cross tool under the hood" >&2
|
||||
exit 111
|
||||
fi
|
||||
|
||||
cross.sh $CROSS_RUNNER "$tree_sitter" "$@"
|
||||
if [[ $BUILD_CMD == cross ]]; then
|
||||
cross.sh "$CROSS_RUNNER" "$tree_sitter" "$@"
|
||||
else
|
||||
"$tree_sitter" "$@"
|
||||
exec "$tree_sitter" "$@"
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue