|
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