From bef0389ce6258e1c51e63005bdfb2ba3529e60d9 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Tue, 30 Jul 2024 07:11:27 +0100 Subject: [PATCH] build: add forgejo workflow push-next --- .forgejo/workflows/push-next.yml | 44 +++++++++++++++++++++++++++ test.sh | 51 ++++++++++++++++---------------- 2 files changed, 70 insertions(+), 25 deletions(-) create mode 100644 .forgejo/workflows/push-next.yml diff --git a/.forgejo/workflows/push-next.yml b/.forgejo/workflows/push-next.yml new file mode 100644 index 0000000..6245ec3 --- /dev/null +++ b/.forgejo/workflows/push-next.yml @@ -0,0 +1,44 @@ +name: Rust + +on: + push: + branches: ["next"] + pull_request: + branches: ["main"] + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + runs-on: docker + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Format + uses: https://git.kemitix.net/kemitix/rust@v0.3.1 + with: + args: fmt --all -- --check + + # - name: Machete + # uses: https://github.com/bnjbvr/cargo-machete@v0.6.2 + + - name: Clippy + uses: https://git.kemitix.net/kemitix/rust@v0.3.1 + with: + args: clippy + + - name: Build + uses: https://git.kemitix.net/kemitix/rust@v0.3.1 + with: + args: build + + - name: Test + uses: https://git.kemitix.net/kemitix/rust@v0.3.1 + with: + args: test --no-fail-fast + + - name: Integration + run: ./test.sh diff --git a/test.sh b/test.sh index b78f511..fe97406 100755 --- a/test.sh +++ b/test.sh @@ -5,37 +5,38 @@ set -e echo "PWD: $PWD" ls -l ls -l target -SKIP="./target/skip" +SKIP="./target/debug/skip" DIFF="diff -u --color" -if test ! -x $SKIP ; then - echo "File missing: $SKIP - try 'cargo build'" - exit 1 +if test ! -x $SKIP; then + echo "File missing: $SKIP - try 'cargo build'" + exit 1 fi echo "> skip a line when reading from stdin" -INPUT=$(cat< test.expect -echo "$INPUT" | $SKIP 1 > test.out +echo "line 2" >test.expect +echo "$INPUT" | $SKIP 1 >test.out $DIFF test.expect test.out rm test.expect test.out echo "> skip a line when reading from a file" -cat< test.in +cat <test.in line 1 line 2 EOF -echo "line 2" > test.expect -$SKIP 1 test.in > test.out +echo "line 2" >test.expect +$SKIP 1 test.in >test.out $DIFF test.expect test.out rm test.expect test.out echo "> skip until 2 matching lines seen" -cat< test.in +cat <test.in alpha beta alpha @@ -43,17 +44,17 @@ alpha gamma alpha EOF -cat< test.expect +cat <test.expect alpha gamma alpha EOF -$SKIP 2 test.in --line alpha > test.out +$SKIP 2 test.in --line alpha >test.out $DIFF test.expect test.out rm test.in test.expect test.out echo "> skip lines until 2 tokens seen" -cat< test.in +cat <test.in Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt @@ -63,18 +64,18 @@ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. EOF -cat< test.expect +cat <test.expect Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. EOF -$SKIP 2 test.in --token dolor > test.out +$SKIP 2 test.in --token dolor >test.out $DIFF test.expect test.out rm test.in test.expect test.out echo "> handle unknown parameter with simple error message" -cat< test.expect.err +cat <test.expect.err error: unexpected argument '--foo' found tip: to pass '--foo' as a value, use '-- --foo' @@ -83,17 +84,17 @@ Usage: skip [OPTIONS] [FILE] For more information, try '--help'. EOF -cat< test.expect +cat <test.expect EOF touch test.out test.err -$SKIP --foo > test.out 2> test.err || true +$SKIP --foo >test.out 2>test.err || true $DIFF test.expect test.out $DIFF test.expect.err test.err rm test.expect test.out rm test.expect.err test.err echo "> handle ignore-extra when token is missing" -cat< test.expect.err +cat <test.expect.err error: the following required arguments were not provided: --token @@ -102,17 +103,17 @@ Usage: skip --ignore-extras --token [FILE] For more information, try '--help'. EOF -cat< test.expect +cat <test.expect EOF touch test.out test.err -$SKIP --ignore-extras > test.out 2> test.err || true +$SKIP --ignore-extras >test.out 2>test.err || true $DIFF test.expect test.out $DIFF test.expect.err test.err rm test.expect test.out rm test.expect.err test.err echo "> skip lines until 4 tokens seen - ignored extra tokens on same line" -cat< test.in +cat <test.in Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt @@ -122,12 +123,12 @@ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. EOF -cat< test.expect +cat <test.expect quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. EOF -$SKIP 4 test.in --token m --ignore-extras > test.out +$SKIP 4 test.in --token m --ignore-extras >test.out $DIFF test.expect test.out rm test.in test.expect test.out