@@ -99,22 +99,34 @@ jobs:
9999 continue-on-error : true
100100 run : cargo clippy -- -D warnings
101101 # Artifact creation steps (only for release builds with targets)
102+ - name : Clean for cross compilation
103+ if : matrix.target && matrix.target == 'aarch64-unknown-linux-gnu'
104+ run : cargo clean
102105 - name : Build release binary (native)
103106 if : matrix.target && (matrix.target == 'x86_64-unknown-linux-gnu' || matrix.target == 'x86_64-apple-darwin' || matrix.target == 'aarch64-apple-darwin' || matrix.target == 'x86_64-pc-windows-msvc' || matrix.target == 'aarch64-pc-windows-msvc')
104107 run : cargo build --release --target ${{ matrix.target }}
105108 - name : Build release binary (cross)
106109 if : matrix.target && matrix.target == 'aarch64-unknown-linux-gnu'
110+ env :
111+ CARGO_TARGET_DIR : target-cross
107112 run : cross build --release --target ${{ matrix.target }}
108113 - name : Create artifact directory
109114 if : matrix.target
110115 run : mkdir -p artifacts
111- - name : Copy binary (Unix)
112- if : matrix.target && runner.os != 'Windows'
116+ - name : Copy binary (Unix - native )
117+ if : matrix.target && runner.os != 'Windows' && matrix.target != 'aarch64-unknown-linux-gnu'
113118 run : |
114119 cp target/${{ matrix.target }}/release/cargo-ndk artifacts/cargo-ndk
115120 cp target/${{ matrix.target }}/release/cargo-ndk-env artifacts/cargo-ndk-env
116121 cp target/${{ matrix.target }}/release/cargo-ndk-test artifacts/cargo-ndk-test
117122 cp target/${{ matrix.target }}/release/cargo-ndk-runner artifacts/cargo-ndk-runner
123+ - name : Copy binary (Unix - cross)
124+ if : matrix.target && runner.os != 'Windows' && matrix.target == 'aarch64-unknown-linux-gnu'
125+ run : |
126+ cp target-cross/${{ matrix.target }}/release/cargo-ndk artifacts/cargo-ndk
127+ cp target-cross/${{ matrix.target }}/release/cargo-ndk-env artifacts/cargo-ndk-env
128+ cp target-cross/${{ matrix.target }}/release/cargo-ndk-test artifacts/cargo-ndk-test
129+ cp target-cross/${{ matrix.target }}/release/cargo-ndk-runner artifacts/cargo-ndk-runner
118130 - name : Copy binary (Windows)
119131 if : matrix.target && runner.os == 'Windows'
120132 run : |
0 commit comments