|
12 | 12 | jobs: |
13 | 13 | ubuntu-build: |
14 | 14 |
|
15 | | - runs-on: ubuntu-latest |
| 15 | + strategy: |
| 16 | + matrix: |
| 17 | + os: [ubuntu-latest, ubuntu-24.04-arm] |
| 18 | + |
| 19 | + runs-on: ${{ matrix.os }} |
16 | 20 |
|
17 | 21 | steps: |
18 | 22 | - uses: actions/checkout@v3 |
19 | 23 | - name: Install llvm |
20 | | - run: sudo apt update && sudo apt install -y clang # This requires Ubuntu 24.04 or later |
| 24 | + run: sudo apt update && sudo apt install -y clang llvm # This requires Ubuntu 24.04 or later |
| 25 | + - uses: actions-rust-lang/setup-rust-toolchain@v1 |
21 | 26 | - name: Install cargo generate |
22 | 27 | run: cargo install cargo-generate |
23 | 28 | - name: Generate workspace |
|
50 | 55 | - name: Reproducible build runs |
51 | 56 | run: cd test-contract && ./scripts/reproducible_build_docker --update && ./scripts/reproducible_build_docker --no-clean |
52 | 57 |
|
53 | | - ubuntu-arm64-docker-build: |
54 | | - |
55 | | - runs-on: ubuntu-latest |
56 | | - |
57 | | - steps: |
58 | | - - uses: actions/checkout@v3 |
59 | | - - name: Setup qemu binfmt |
60 | | - run: docker run --privileged --rm tonistiigi/binfmt --install all |
61 | | - - name: Install cargo generate |
62 | | - run: cargo install cargo-generate |
63 | | - - name: Generate workspace |
64 | | - run: cargo generate --path . workspace --name test-workspace |
65 | | - - name: Generate crates && contracts |
66 | | - run: cd test-workspace && |
67 | | - make generate CRATE=clib TEMPLATE=c-wrapper-crate DESTINATION=crates TEMPLATE_TYPE=--path TEMPLATE_REPO=.. && |
68 | | - make generate CRATE=rlib TEMPLATE=x64-simulator-crate DESTINATION=crates TEMPLATE_TYPE=--path TEMPLATE_REPO=.. && |
69 | | - make generate CRATE=c1 TEMPLATE=contract TEMPLATE_TYPE=--path TEMPLATE_REPO=.. && |
70 | | - make generate CRATE=c2 TEMPLATE=atomics-contract TEMPLATE_TYPE=--path TEMPLATE_REPO=.. && |
71 | | - make generate CRATE=c3 TEMPLATE=stack-reorder-contract TEMPLATE_TYPE=--path TEMPLATE_REPO=.. |
72 | | - - name: Submodules |
73 | | - run: cd test-workspace && |
74 | | - git submodule add https://github.com/nervosnetwork/ckb-c-stdlib deps/ckb-c-stdlib && |
75 | | - git submodule add https://github.com/xxuejie/lib-dummy-atomics deps/lib-dummy-atomics |
76 | | - - name: Reproducible build runs |
77 | | - run: cd test-workspace && export DOCKER_RUN_ARGS="--platform linux/arm64" && ./scripts/reproducible_build_docker --update && ./scripts/reproducible_build_docker --no-clean |
78 | | - - name: Generate standalone contract |
79 | | - run: cargo generate --path . standalone-contract --name test-contract |
80 | | - - name: Reproducible build runs |
81 | | - run: cd test-contract && export DOCKER_RUN_ARGS="--platform linux/arm64" && ./scripts/reproducible_build_docker --update && ./scripts/reproducible_build_docker --no-clean |
82 | | - |
83 | 58 | debian-build: |
84 | 59 |
|
85 | 60 | runs-on: ubuntu-latest |
|
0 commit comments