From 7f66e57a1bed388622f06fc3ddc9f124d46c7826 Mon Sep 17 00:00:00 2001 From: Liam Aharon Date: Sun, 5 Nov 2023 09:46:43 +1100 Subject: [PATCH] Add GHA tests workflow (#52) * add tests workflow * typo * build before test * try fix disk space issue * fixes * move tests into existing workflow file * check disk space after * fix * fix * optimise build * build release --- .github/workflows/rust-checks.yaml | 59 ++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/.github/workflows/rust-checks.yaml b/.github/workflows/rust-checks.yaml index db4b50ace0b..62e7ec1f794 100644 --- a/.github/workflows/rust-checks.yaml +++ b/.github/workflows/rust-checks.yaml @@ -21,6 +21,7 @@ jobs: toolchain: nightly components: rustfmt - uses: actions-rust-lang/rustfmt@v1 + clippy-lint: runs-on: ubuntu-20.04 steps: @@ -39,3 +40,61 @@ jobs: with: toolchain: stable args: --all-targets --all-features + + rust-tests: + runs-on: ubuntu-20.04 + steps: + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable + - name: Checkout source code + uses: actions/checkout@v4 + + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: "3.6.1" + + - name: Add wasm32-unknown-unknown target + run: rustup target add wasm32-unknown-unknown + + - name: Check disk space + run: df . -h + + - name: Free disk space + run: | + sudo docker rmi $(docker image ls -aq) >/dev/null 2>&1 || true + sudo rm -rf \ + /usr/share/dotnet /usr/local/lib/android /opt/ghc \ + /usr/local/share/powershell /usr/share/swift /usr/local/.ghcup \ + /usr/lib/jvm || true + sudo apt install aptitude -y >/dev/null 2>&1 + sudo aptitude purge aria2 ansible azure-cli shellcheck rpm xorriso zsync \ + esl-erlang firefox gfortran-8 gfortran-9 google-chrome-stable \ + google-cloud-sdk imagemagick \ + libmagickcore-dev libmagickwand-dev libmagic-dev ant ant-optional kubectl \ + mercurial apt-transport-https mono-complete libmysqlclient \ + unixodbc-dev yarn chrpath libssl-dev libxft-dev \ + libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev \ + snmp pollinate libpq-dev postgresql-client powershell ruby-full \ + sphinxsearch subversion mongodb-org azure-cli microsoft-edge-stable \ + -y -f >/dev/null 2>&1 + sudo aptitude purge google-cloud-sdk -f -y >/dev/null 2>&1 + sudo aptitude purge microsoft-edge-stable -f -y >/dev/null 2>&1 || true + sudo apt purge microsoft-edge-stable -f -y >/dev/null 2>&1 || true + sudo aptitude purge '~n ^mysql' -f -y >/dev/null 2>&1 + sudo aptitude purge '~n ^php' -f -y >/dev/null 2>&1 + sudo aptitude purge '~n ^dotnet' -f -y >/dev/null 2>&1 + sudo apt-get autoremove -y >/dev/null 2>&1 + sudo apt-get autoclean -y >/dev/null 2>&1 + + - name: Check disk space + run: df . -h + + - name: cargo build binary required for test + # build --release or the execution time of the test is too long + run: cargo build --release -p try-runtime-cli + + - name: cargo test + # build --release or the execution time of the test is too long + run: cargo test --release