docs: add coprocessor docs for signed apps #1653
Workflow file for this run
This file contains hidden or 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: build and test | |
| on: | |
| push: | |
| branches: [main, dev] | |
| pull_request: | |
| branches: [main, dev] | |
| # Ensures that only a single workflow per PR will run at a time. Cancels in-progress jobs if new commit is pushed. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| FOUNDRY_PROFILE: ci | |
| RUSTFLAGS: "-Dwarnings" | |
| GO_VERSION: 1.21 | |
| jobs: | |
| solidity: | |
| strategy: | |
| fail-fast: true | |
| name: solidity contracts | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: ./solidity | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@v1 | |
| with: | |
| version: stable | |
| - name: Show Forge version | |
| run: | | |
| forge --version | |
| - name: Run Forge fmt | |
| run: | | |
| forge fmt --check | |
| id: fmt | |
| - name: Run Forge soldeer install | |
| run: | | |
| forge soldeer install | |
| id: soldeer | |
| - name: Run Forge build | |
| run: | | |
| forge build --sizes | |
| id: build | |
| - name: Run Forge tests | |
| run: | | |
| forge test -vvv | |
| id: test | |
| # Add this step to upload artifacts for other CI workflows | |
| - name: Upload Forge artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: forge-artifacts | |
| path: ./solidity/out/ | |
| build: | |
| needs: [solidity] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache Build artifacts | |
| uses: Swatinem/rust-cache@v2.7.8 | |
| with: | |
| cache-on-failure: true | |
| shared-key: ${{ github.event.pull_request.number || github.ref }} | |
| - name: Download Forge artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: forge-artifacts | |
| path: ./solidity/out/ | |
| - name: Install Taplo CLI | |
| run: | | |
| curl -sL https://github.com/tamasfe/taplo/releases/download/0.9.3/taplo-full-linux-x86_64.gz | gunzip > taplo | |
| chmod +x taplo | |
| mv taplo /usr/local/bin/ | |
| - name: Run cargo fmt | |
| run: cargo fmt --all -- --check | |
| - name: Run taplo (toml fmt) | |
| run: ./devtools/toml_fmt.sh --check | |
| - name: Run clippy | |
| run: cargo clippy --all-targets --verbose -- -D warnings | |
| - name: Optimize contracts | |
| run: | | |
| docker run --user $(id -u):$(id -g) --rm \ | |
| -v .:/code -v ./target:/target \ | |
| -v ./target:/usr/local/cargo/registry cosmwasm/optimizer:0.16.1 | |
| - name: List artifact contents | |
| run: ls -l ./artifacts | |
| - name: Upload wasm artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: optimized-contracts | |
| path: ./artifacts/*.wasm | |
| if-no-files-found: error | |
| schema-checks: | |
| needs: [build] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache Build artifacts | |
| uses: Swatinem/rust-cache@v2.7.8 | |
| with: | |
| cache-on-failure: true | |
| shared-key: ${{ github.event.pull_request.number || github.ref }} | |
| - name: Generate contract schemas | |
| run: ./devtools/schema.sh | |
| - name: Show schema changes | |
| run: git status --porcelain | |
| - name: Validate committed schemas | |
| # should fail if any diffs are present | |
| run: test -z "$(git status --porcelain)" | |
| tests: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Free Disk Space | |
| uses: "./.github/actions/free-disk-space" | |
| - name: Cache Build artifacts | |
| uses: Swatinem/rust-cache@v2.7.8 | |
| with: | |
| cache-on-failure: true | |
| shared-key: ${{ github.event.pull_request.number || github.ref }} | |
| - name: Get cargo | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: optimized-contracts | |
| path: ./artifacts | |
| - name: Download Forge artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: forge-artifacts | |
| path: ./solidity/out/ | |
| - name: List downloaded files | |
| run: ls -l ./artifacts | |
| - name: Run tests | |
| run: cargo core-test | |
| env: | |
| RUST_BACKTRACE: 1 | |
| setup-local-ic: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Install local-ic | |
| run: git clone https://github.com/strangelove-ventures/interchaintest && cd interchaintest/local-interchain && make install | |
| - name: Upload local-ic artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: local-ic | |
| path: ~/go/bin/local-ic | |
| local-ic-polytone: | |
| needs: [build, setup-local-ic] | |
| name: authorization & processor polytone integration test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Run polytone example | |
| uses: "./.github/actions/run-local-ic-test" | |
| with: | |
| chain-config: "neutron_osmosis" | |
| test-name: "polytone" | |
| local-ic-token-swap: | |
| needs: [build, setup-local-ic] | |
| name: token swap e2e test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Run token_swap example | |
| uses: "./.github/actions/run-local-ic-example" | |
| with: | |
| chain-config: "neutron" | |
| test-name: "token-swap-example" | |
| local-ic-2-party-pol-astroport-neutron: | |
| needs: [build, setup-local-ic] | |
| name: 2 party POL Astroport on Neutron e2e test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Run 2 party POL Astroport on Neutron example | |
| uses: "./.github/actions/run-local-ic-test" | |
| with: | |
| chain-config: "neutron" | |
| test-name: "two_party_pol_astroport_neutron" | |
| local-ic-ibc-transfer-ntrn-juno: | |
| needs: [build, setup-local-ic] | |
| name: IBC transfer NTRN->JUNO e2e test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Run IBC transfer NTRN->JUNO example | |
| uses: "./.github/actions/run-local-ic-test" | |
| with: | |
| chain-config: "neutron_juno" | |
| test-name: "ibc_transfer_ntrn_juno" | |
| local-ic-ibc-transfer-juno-ntrn: | |
| needs: [build, setup-local-ic] | |
| name: IBC transfer JUNO->NTRN e2e test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Run IBC transfer JUNO->NTRN example | |
| uses: "./.github/actions/run-local-ic-test" | |
| with: | |
| chain-config: "neutron_juno" | |
| test-name: "ibc_transfer_juno_ntrn" | |
| local-ic-ibc-transfer-ntrn-juno-gaia-pfm: | |
| needs: [build, setup-local-ic] | |
| name: IBC transfer NTRN->JUNO->GAIA PFM e2e test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Run IBC transfer NTRN->JUNO->GAIA PFM example | |
| uses: "./.github/actions/run-local-ic-test" | |
| with: | |
| chain-config: "neutron_juno" | |
| test-name: "ibc_transfer_ntrn_juno_gaia_pfm" | |
| local-ic-ibc-transfer-osmo-ntrn: | |
| needs: [build, setup-local-ic] | |
| name: IBC transfer OSMO->NTRN e2e test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Run IBC transfer OSMO->NTRN example | |
| uses: "./.github/actions/run-local-ic-test" | |
| with: | |
| chain-config: "neutron_osmosis" | |
| test-name: "ibc_transfer_osmo_ntrn" | |
| local-ic-ibc-transfer-osmo-juno-gaia-pfm: | |
| needs: [build, setup-local-ic] | |
| name: IBC transfer OSMO->JUNO->GAIA PFM e2e test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Run IBC transfer OSMO->JUNO->GAIA PFM example | |
| uses: "./.github/actions/run-local-ic-test" | |
| with: | |
| chain-config: "juno_osmosis" | |
| test-name: "ibc_transfer_osmo_juno_gaia_pfm" | |
| local-ic-osmo-gamm-tests: | |
| needs: [build, setup-local-ic] | |
| name: Osmosis GAMM e2e lp -> lw run | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Run osmo gamm lp & lw tests | |
| uses: "./.github/actions/run-local-ic-example" | |
| with: | |
| chain-config: "neutron_osmosis" | |
| test-name: "osmo-gamm-example" | |
| local-ic-osmo-cl-tests: | |
| needs: [build, setup-local-ic] | |
| name: Osmosis concentrated liquidity e2e lp -> lw run | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Run osmo cl lp & lw tests | |
| uses: "./.github/actions/run-local-ic-example" | |
| with: | |
| chain-config: "neutron_osmosis" | |
| test-name: "osmo-cl-example" | |
| local-ic-ica-tests: | |
| needs: [build, setup-local-ic] | |
| name: Valence ica & ica libraries e2e | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Run valence ica & ica libraries tests | |
| uses: "./.github/actions/run-local-ic-test" | |
| with: | |
| chain-config: "neutron_noble_osmosis" | |
| test-name: "ica_libraries" | |
| local-ic-ethereum-e2e-tests: | |
| needs: [build, setup-local-ic] | |
| name: Ethereum e2e tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Run ethereum e2e tests | |
| uses: "./.github/actions/run-local-ic-test" | |
| with: | |
| chain-config: "neutron" | |
| test-name: "ethereum_integration_tests" |