Split continuous workflow in three jobs.
Doing all steps sequentially is starting to get long. Several of those checks are unrelated and can be done in parallel.
This commit is contained in:
parent
0145237bbe
commit
fe7d744946
|
@ -10,29 +10,33 @@ env:
|
||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
acceptance_tests:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Build
|
|
||||||
run: cargo build --verbose --workspace --target x86_64-unknown-linux-gnu
|
|
||||||
env:
|
|
||||||
RUSTFLAGS: -C target-feature=+crt-static
|
|
||||||
- name: Run unit tests
|
|
||||||
run: cargo test --verbose --workspace
|
|
||||||
- name: Run examples
|
- name: Run examples
|
||||||
run: |
|
run: |
|
||||||
cargo run -- check examples/hello_world
|
cargo run -r -- check examples/hello_world
|
||||||
cargo run -- check examples/gift_card
|
cargo run -r -- check examples/gift_card
|
||||||
- name: Run acceptance tests
|
- name: Run acceptance tests
|
||||||
working-directory: examples/acceptance_tests
|
working-directory: examples/acceptance_tests
|
||||||
run: |
|
run: |
|
||||||
cargo install cbor-diag-cli
|
cargo install cbor-diag-cli
|
||||||
bash ci
|
bash ci
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
|
unit_tests:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Run unit tests
|
||||||
|
run: cargo test --verbose --workspace
|
||||||
|
|
||||||
|
checks:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
- name: Format
|
- name: Format
|
||||||
run: cargo fmt --all -- --check
|
run: cargo fmt --all -- --check
|
||||||
- name: Clippy
|
- name: Clippy
|
||||||
run: cargo clippy --all-targets --all-features -- -D warnings
|
run: cargo clippy --all-targets --all-features -- -D warnings
|
||||||
# - name: Audit
|
|
||||||
# run: cargo audit
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ WORKDIR="$(dirname -- "${BASH_SOURCE[0]}")"
|
||||||
TARGET="$WORKDIR/$(basename $1)"
|
TARGET="$WORKDIR/$(basename $1)"
|
||||||
|
|
||||||
TMP=$(mktemp)
|
TMP=$(mktemp)
|
||||||
RESULT=$(cargo run --quiet -- fmt $TARGET 2>$TMP)
|
RESULT=$(cargo run -r --quiet -- fmt $TARGET 2>$TMP)
|
||||||
|
|
||||||
if [ "$?" -eq "0" ]; then
|
if [ "$?" -eq "0" ]; then
|
||||||
echo "✅ $(basename $TARGET)"
|
echo "✅ $(basename $TARGET)"
|
||||||
|
|
|
@ -16,12 +16,12 @@ TARGET="$WORKDIR/$(basename $1)"
|
||||||
|
|
||||||
TMP=$(mktemp)
|
TMP=$(mktemp)
|
||||||
VALIDATORS=$(find $TARGET -type f -path "*validators/*.ak")
|
VALIDATORS=$(find $TARGET -type f -path "*validators/*.ak")
|
||||||
cargo run --quiet -- check $TARGET 1>$TMP 2>/dev/null
|
cargo run -r --quiet -- check $TARGET 1>$TMP 2>/dev/null
|
||||||
if [ "$?" -eq "0" ]; then
|
if [ "$?" -eq "0" ]; then
|
||||||
if [ -z "$VALIDATORS" ]; then
|
if [ -z "$VALIDATORS" ]; then
|
||||||
echo "✅ $(basename $TARGET)"
|
echo "✅ $(basename $TARGET)"
|
||||||
else
|
else
|
||||||
cargo run --quiet -- build $TARGET 1>$TMP 2>/dev/null
|
cargo run -r --quiet -- build $TARGET 1>$TMP 2>/dev/null
|
||||||
if [ "$?" -eq "0" ]; then
|
if [ "$?" -eq "0" ]; then
|
||||||
echo "✅ $(basename $TARGET)"
|
echo "✅ $(basename $TARGET)"
|
||||||
else
|
else
|
||||||
|
|
|
@ -24,7 +24,7 @@ then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cargo run --quiet -- build
|
cargo run -r --quiet -- build
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
|
@ -39,4 +39,4 @@ cp ctx/$TITLE/inputs.cbor.template ctx/$TITLE/inputs.cbor
|
||||||
sed "s/{{ VALIDATOR_HASH }}/$VALIDATOR_HASH/" ctx/$TITLE/outputs.cbor.template > ctx/$TITLE/outputs.cbor
|
sed "s/{{ VALIDATOR_HASH }}/$VALIDATOR_HASH/" ctx/$TITLE/outputs.cbor.template > ctx/$TITLE/outputs.cbor
|
||||||
sed "s/{{ VALIDATOR }}/$VALIDATOR/" ctx/$TITLE/tx.cbor.template | sed "s/{{ VALIDATOR_HASH }}/$VALIDATOR_HASH/" > ctx/$TITLE/tx.cbor
|
sed "s/{{ VALIDATOR }}/$VALIDATOR/" ctx/$TITLE/tx.cbor.template | sed "s/{{ VALIDATOR_HASH }}/$VALIDATOR_HASH/" > ctx/$TITLE/tx.cbor
|
||||||
|
|
||||||
cargo run --quiet -- tx simulate ctx/$TITLE/tx.cbor ctx/$TITLE/inputs.cbor ctx/$TITLE/outputs.cbor
|
cargo run -r --quiet -- tx simulate ctx/$TITLE/tx.cbor ctx/$TITLE/inputs.cbor ctx/$TITLE/outputs.cbor
|
||||||
|
|
Loading…
Reference in New Issue