ci.yml
1 name: CI 2 3 on: 4 push: 5 branches: [main] 6 pull_request: 7 branches: [main] 8 9 jobs: 10 check: 11 name: Check 12 runs-on: native 13 steps: 14 - uses: actions/checkout@v4 15 with: 16 submodules: recursive 17 18 - name: Setup dependencies 19 run: | 20 # Ensure alphavm, deltavm, alphaos, deltaos, acdc-core are available 21 cd .. 22 for repo in alphavm deltavm alphaos deltaos acdc-core; do 23 if [ ! -d "$repo" ]; then 24 echo "Cloning $repo..." 25 git clone --depth 1 https://code.ac-dc.network/Alpha-Delta-Network/$repo.git 26 fi 27 done 28 29 - name: Cargo check 30 run: cargo check --workspace 31 32 build: 33 name: Build 34 runs-on: native 35 needs: check 36 steps: 37 - uses: actions/checkout@v4 38 with: 39 submodules: recursive 40 41 - name: Setup dependencies 42 run: | 43 cd .. 44 for repo in alphavm deltavm alphaos deltaos acdc-core; do 45 if [ ! -d "$repo" ]; then 46 git clone --depth 1 https://code.ac-dc.network/Alpha-Delta-Network/$repo.git 47 fi 48 done 49 50 - name: Build release 51 run: cargo build --release 52 53 test: 54 name: Test 55 runs-on: native 56 needs: build 57 timeout-minutes: 30 58 steps: 59 - uses: actions/checkout@v4 60 with: 61 submodules: recursive 62 63 - name: Setup dependencies 64 run: | 65 cd .. 66 for repo in alphavm deltavm alphaos deltaos acdc-core; do 67 if [ ! -d "$repo" ]; then 68 git clone --depth 1 https://code.ac-dc.network/Alpha-Delta-Network/$repo.git 69 fi 70 done 71 72 - name: Run tests 73 run: cargo test --release 74 75 fmt: 76 name: Format 77 runs-on: native 78 steps: 79 - uses: actions/checkout@v4 80 81 - name: Check formatting 82 run: cargo fmt --all -- --check 83 84 clippy: 85 name: Clippy 86 runs-on: native 87 needs: check 88 steps: 89 - uses: actions/checkout@v4 90 with: 91 submodules: recursive 92 93 - name: Setup dependencies 94 run: | 95 cd .. 96 for repo in alphavm deltavm alphaos deltaos acdc-core; do 97 if [ ! -d "$repo" ]; then 98 git clone --depth 1 https://code.ac-dc.network/Alpha-Delta-Network/$repo.git 99 fi 100 done 101 102 - name: Run Clippy 103 run: cargo clippy --workspace -- -D warnings