chore: update dependencies in Cargo.toml and do not require tokio default features #2830
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ic-ref | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
build: [linux-stable] | |
pocket-ic: ["replica", "pocketic"] | |
include: | |
- build: linux-stable | |
ic-hs-ref: "3d71032e" | |
wallet-tag: "20230308" | |
os: ubuntu-latest | |
steps: | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- uses: actions/checkout@v4 | |
- name: Install dfx | |
uses: dfinity/setup-dfx@main | |
with: | |
dfx-version: "0.24.2" | |
- name: Cargo cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Download cycles-wallet canister | |
run: | | |
wget https://github.com/dfinity/cycles-wallet/releases/download/${{ matrix.wallet-tag }}/wallet.wasm | |
mv wallet.wasm $HOME/wallet.wasm | |
- name: Download universal-canister | |
run: | | |
wget https://download.dfinity.systems/ic-ref/ic-ref-test-0.0.1-${{ matrix.ic-hs-ref }}-x86_64-linux.tar.gz | |
tar -xvf ic-ref-test-0.0.1-${{ matrix.ic-hs-ref }}-x86_64-linux.tar.gz test-data/universal-canister.wasm | |
mv test-data/universal-canister.wasm $HOME/canister.wasm | |
- name: Run Integration Tests | |
run: | | |
set -ex | |
if [[ "${{ matrix.pocket-ic }}" == "replica" ]] | |
then | |
dfx start --background --clean | |
else | |
dfx start --background --clean --pocketic | |
fi | |
sleep 1 | |
export IC_REF_PORT=$(dfx info webserver-port) | |
export IC_UNIVERSAL_CANISTER_PATH=$HOME/canister.wasm | |
export IC_WALLET_CANISTER_PATH=$HOME/wallet.wasm | |
if [[ "${{ matrix.pocket-ic }}" == "pocketic" ]] | |
then | |
export POCKET_IC="http://localhost:${IC_REF_PORT}" | |
fi | |
cargo test --all-features -- --ignored | |
dfx stop | |
env: | |
RUST_BACKTRACE: 1 | |
- name: Install and Configure SoftHSM | |
run: | | |
set -ex | |
sudo apt-get install -f libsofthsm2 opensc-pkcs11 opensc | |
sudo usermod -a -G softhsm $USER | |
echo "SOFTHSM2_CONF=$HOME/softhsm.conf" >>$GITHUB_ENV | |
echo "directories.tokendir = $HOME/softhsm/tokens/" >$HOME/softhsm.conf | |
mkdir -p $HOME/softhsm/tokens | |
- name: Run Integration Tests with SoftHSM | |
run: | | |
set -ex | |
softhsm2-util --init-token --slot $HSM_SLOT_INDEX --label "agent-rs-token" --so-pin $HSM_SO_PIN --pin $HSM_PIN | |
# create key: | |
pkcs11-tool -k --module $HSM_PKCS11_LIBRARY_PATH --login --slot-index $HSM_SLOT_INDEX -d $HSM_KEY_ID --key-type EC:prime256v1 --pin $HSM_PIN | |
if [[ "${{ matrix.pocket-ic }}" == "replica" ]] | |
then | |
dfx start --background --clean | |
else | |
dfx start --background --clean --pocketic | |
fi | |
sleep 1 | |
export IC_REF_PORT=$(dfx info webserver-port) | |
export IC_UNIVERSAL_CANISTER_PATH=$HOME/canister.wasm | |
export IC_WALLET_CANISTER_PATH=$HOME/wallet.wasm | |
if [[ "${{ matrix.pocket-ic }}" == "pocketic" ]] | |
then | |
export POCKET_IC="http://localhost:${IC_REF_PORT}" | |
fi | |
cd ref-tests | |
cargo test --all-features -- --ignored --nocapture --test-threads=1 | |
dfx stop | |
env: | |
RUST_BACKTRACE: 1 | |
HSM_PKCS11_LIBRARY_PATH: /usr/lib/softhsm/libsofthsm2.so | |
HSM_SO_PIN: 123456 | |
HSM_PIN: 1234 | |
HSM_SLOT_INDEX: 0 | |
HSM_KEY_ID: abcdef | |
- name: Run Doc Tests | |
run: | | |
set -ex | |
if [[ "${{ matrix.pocket-ic }}" == "replica" ]] | |
then | |
dfx start --background --clean | |
else | |
dfx start --background --clean --pocketic | |
fi | |
sleep 1 | |
export IC_REF_PORT=$(dfx info webserver-port) | |
if [[ "${{ matrix.pocket-ic }}" == "pocketic" ]] | |
then | |
export POCKET_IC="http://localhost:${IC_REF_PORT}" | |
fi | |
cargo test --all-features --doc -- --ignored | |
dfx stop | |
env: | |
RUST_BACKTRACE: 1 | |
aggregate: | |
name: ic-ref:required | |
runs-on: ubuntu-latest | |
if: ${{ always() }} | |
needs: test | |
steps: | |
- name: Check ic-ref result | |
if: ${{ needs.test.result != 'success' }} | |
run: exit 1 |