version: 2.1 jobs: test-ubuntu-arm64: machine: image: ubuntu-2004:current resource_class: arm.medium steps: - checkout - run: name: Build command: | export CARGO_NET_GIT_FETCH_WITH_CLI=true uname -a lsb_release -a curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y source $HOME/.cargo/env rustc --version cargo --version sudo apt update -qq sudo apt install -y -qq libxml2-utils libcurl4-openssl-dev cargo build --release --verbose --locked --color always target/release/hurl --version curl --version - run: name: Tests units and integration tests command: | python3 -m pip install --upgrade pip --quiet pip3 install --requirement bin/requirements-frozen.txt mitmdump --version export PATH="$PWD/target/debug:$PATH" cd integration python3 server.py >server.log 2>&1 & python3 ssl/server.py >server-ssl.log 2>&1 & mitmdump -p 8888 --modify-header "/From-Proxy/Hello" >mitmdump.log 2>&1 & echo "================= Tests units =================" cargo test --features strict --verbose --color always mitmdump --version pip3 install lxml bs4 echo "================= Integration tests =================" python3 ./integration.py ./test_curl_commands.sh $(find ./tests_ok -maxdepth 1 -type f -name '*.curl' ! -name '*windows*') python3 ./test_html_output.py tests_ok/*.html xmllint --noout tests_ok/*.html ./test_curl_commands.sh $(find ./tests_failed -maxdepth 1 -type f -name '*.curl' ! -name '*windows*') python3 ./test_html_output.py tests_failed/*.html xmllint --noout tests_failed/*.html - store_artifacts: path: integration/mitmdump.log - store_artifacts: path: integration/server.log - store_artifacts: path: integration/server-ssl.log workflows: tests-arm64: jobs: - test-ubuntu-arm64