duly / .github/workflows/ci.yml · raw
name: cion:  push:    branches: [main]  pull_request:permissions:  contents: readjobs:  js:    runs-on: ubuntu-24.04    timeout-minutes: 5    steps:      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1      - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0        with:          node-version: "22"      - name: Tests        run: npm test  contract:    runs-on: ubuntu-24.04    timeout-minutes: 30    env:      CARGO_NEAR_VERSION: "0.22.0"    steps:      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1      - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0        with:          path: |            ~/.cargo/registry            ~/.cargo/git            target          key: cargo-${{ runner.os }}-${{ hashFiles('Cargo.lock', '**/Cargo.toml') }}          restore-keys: cargo-${{ runner.os }}-      - name: Toolchain        run: |          channel=$(sed -n 's/^channel = "\(.*\)"$/\1/p' rust-toolchain.toml)          rustup toolchain install "$channel" --profile minimal --target wasm32-unknown-unknown -c rustfmt          rustup default "$channel"      - name: cargo-near (checksum verified release)        run: |          base="https://github.com/near/cargo-near/releases/download/cargo-near-v${CARGO_NEAR_VERSION}"          file="cargo-near-x86_64-unknown-linux-gnu.tar.gz"          curl -fsSLO "$base/$file"          curl -fsSLO "$base/$file.sha256"          sha256sum -c "$file.sha256"          tar xzf "$file" --strip-components=1 -C ~/.cargo/bin --wildcards '*/cargo-near'      - name: Unit tests        run: cargo test -p duly-contract --locked      - name: Build contract        run: cd contract && cargo near build non-reproducible-wasm --locked      - name: Build test token        run: cd mock-usdc && cargo near build non-reproducible-wasm --locked      - name: Sizes and hashes        run: |          ls -l target/near/*/*.wasm          sha256sum target/near/*/*.wasm | tee wasm.sha256      - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2        with:          name: wasm          path: |            target/near/duly_contract/duly_contract.wasm            target/near/duly_mock_usdc/duly_mock_usdc.wasm            wasm.sha256          retention-days: 30