11name : test
2- # This is the main CI workflow that runs the test suite on all pushes to main
3- # and all pull requests. It runs the following jobs:
4- # - required: runs the test suite on ubuntu with stable and beta rust
5- # toolchains.
6- # - os-check: runs the test suite on mac and windows.
7- # - coverage: runs the test suite and collects coverage information.
8- # See `check.yml` for information about how the concurrency cancellation and
9- # workflow triggering works.
10- permissions :
11- contents : read
122on :
133 push :
144 branches : [ main ]
15- paths-ignore :
16- - " **.ts"
175 pull_request :
18- paths-ignore :
19- - " **.ts"
20- concurrency :
21- group : ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
22- cancel-in-progress : true
23- env :
24- CARGO_TERM_COLOR : always
256jobs :
26- required :
7+ test :
278 runs-on : ubuntu-latest
28- name : ${{ matrix.toolchain }}
29- strategy :
30- matrix :
31- # Run on stable and beta to ensure that tests won't break on the next
32- # version of the rust toolchain.
33- toolchain : [ stable, beta ]
349 steps :
35- - uses : actions/checkout@v4
36- with :
37- submodules : true
38- - name : Install ${{ matrix.toolchain }}
39- uses : dtolnay/rust-toolchain@master
40- with :
41- toolchain : ${{ matrix.toolchain }}
42- - name : cargo generate-lockfile
43- # Enable this ci template to run regardless of whether the lockfile is
44- # checked in or not.
45- if : hashFiles('Cargo.lock') == ''
46- run : cargo generate-lockfile
47- # https://twitter.com/jonhoo/status/1571290371124260865
48- - name : cargo test --locked
49- run : cargo test --locked --all-targets
50- # https://github.com/rust-lang/cargo/issues/6669
51- - name : cargo test --doc
52- run : cargo test --locked --doc
53- os-check :
54- # Run cargo test on MacOS and Windows.
55- runs-on : ${{ matrix.os }}
56- name : ${{ matrix.os }} / stable
57- strategy :
58- fail-fast : false
59- matrix :
60- os : [ macos-latest ]
61- # Windows fails because of `stylus-proc`.
62- # os: [macos-latest, windows-latest]
63- steps :
64- - uses : actions/checkout@v4
65- with :
66- submodules : true
67- - name : Install stable
68- uses : dtolnay/rust-toolchain@stable
69- - name : cargo generate-lockfile
70- if : hashFiles('Cargo.lock') == ''
71- run : cargo generate-lockfile
72- - name : cargo test
73- run : cargo test --locked --all-targets
10+ - uses : actions/checkout@v4
11+ -
uses :
metadaoproject/[email protected] 12+ with :
13+ anchor-version : ' 0.30.1'
14+ solana-cli-version : ' 1.18.18'
15+ node-version : ' 21.1.0'
7416
0 commit comments