Skip to content

feat: Serde Serialize and Deserialize traits for the RbTree in the ic-certified-map crate. #1237

feat: Serde Serialize and Deserialize traits for the RbTree in the ic-certified-map crate.

feat: Serde Serialize and Deserialize traits for the RbTree in the ic-certified-map crate. #1237

Workflow file for this run

name: Examples
on:
push:
branches:
- main
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
rust-version: 1.65.0
dfx-version: 0.14.1
wasmtime-version: 10.0.1
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
project-name:
[asset_storage, chess, counter, management_canister, print, profile]
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Cache
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
examples/${{ matrix.project-name }}/target/
key: ${{ runner.os }}-${{ matrix.project-name }}-${{ hashFiles('**/Cargo.toml', 'rust-toolchain.toml') }}
restore-keys: |
${{ runner.os }}-${{ matrix.project-name }}-
${{ runner.os }}-
- name: Install Rust
uses: dtolnay/rust-toolchain@v1
with:
toolchain: ${{ env.rust-version }}
target: wasm32-unknown-unknown
components: rustfmt
- name: Install ic-wasm
# might already in cache
run: |
if ! [ -x "$(command -v ic-wasm)" ]; then
cargo install ic-wasm
fi
- name: Install wasmtime
run: |
wget https://github.com/bytecodealliance/wasmtime/releases/download/v${{env.wasmtime-version}}/wasmtime-v${{env.wasmtime-version}}-x86_64-linux.tar.xz
tar xf wasmtime-v${{env.wasmtime-version}}-x86_64-linux.tar.xz
mv wasmtime-v${{env.wasmtime-version}}-x86_64-linux/wasmtime /usr/local/bin/
- name: Install DFX
run: |
export DFX_VERSION=${{env.dfx-version }}
echo Install DFX v$DFX_VERSION
yes | sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"
- name: Setup BATS
uses: mig4/[email protected]
with:
bats-version: 1.2.1
- name: Install bitcoin
if: ${{ matrix.project-name == 'management_canister' }}
run: |
CWD=$(pwd)
cd "$(mktemp -d)"
BITCOIN_CORE_VERSION=22.0
BITCOIN_CORE_FILENAME="bitcoin-$BITCOIN_CORE_VERSION-x86_64-linux-gnu.tar.gz"
BITCOIN_CORE_TARBALL_SHA="59ebd25dd82a51638b7a6bb914586201e67db67b919b2a1ff08925a7936d1b16"
wget -nv "https://bitcoin.org/bin/bitcoin-core-$BITCOIN_CORE_VERSION/$BITCOIN_CORE_FILENAME"
echo "$BITCOIN_CORE_TARBALL_SHA $BITCOIN_CORE_FILENAME" | shasum -c
tar xzf "$BITCOIN_CORE_FILENAME"
cd "bitcoin-$BITCOIN_CORE_VERSION/bin"
sudo install -m 0755 -o root -g root -t /usr/local/bin *
cd "$CWD"
- name: Run Tests
shell: bash
run: |
bats -r examples/${{ matrix.project-name }}
env:
RUST_BACKTRACE: 1
- name: cargo fmt # no clippy because #[import] makes it fail
run: |
pushd examples/${{ matrix.project-name }}
cargo fmt --check
popd
aggregate:
name: examples:required
if: ${{ always() }}
needs: test
runs-on: ubuntu-latest
steps:
- name: Check step result directly
if: ${{ needs.test.result != 'success' }}
run: exit 1