55 tags :
66 - " *"
77jobs :
8- build :
8+ build_x86 :
99 permissions :
1010 contents : write
1111 continue-on-error : false
1212 runs-on : ubuntu-latest
1313 steps :
1414 - name : Checkout
1515 uses : actions/checkout@v4
16+ - uses : cargo-bins/cargo-binstall@main
17+ - uses : dtolnay/rust-toolchain@stable
18+ with :
19+ toolchain : nightly
20+ components : clippy rustfmt
1621
17- - uses : taiki-e/install-action@just
22+ - name : Install the dependencies
23+ run : |
24+ sudo apt update
25+ sudo apt install -y protobuf-compiler
26+ cargo binstall -y bpf-linker
27+
28+ - name : Build tamanoir-ebpf
29+ run : cd tamanoir-ebpf && cargo build --release
1830
19- - uses : cargo-bins/cargo-binstall@main
31+ - name : Build tamanoir for x86_64
32+ run : |
33+ cargo build -p tamanoir --target x86_64-unknown-linux-gnu --release
34+ cp target/x86_64-unknown-linux-gnu/release/tamanoir tamanoir-x86_64
35+
36+ - name : Build tamanoir-c2 for x86_64
37+ run : |
38+ cargo build -p tamanoir-c2 --target x86_64-unknown-linux-gnu --release
39+ cp target/x86_64-unknown-linux-gnu/release/tamanoir-c2 tamanoir-c2-x86_64
40+
41+ - name : Build tamanoir-tui for x86_64
42+ run : |
43+ cargo build -p tamanoir-tui --target x86_64-unknown-linux-gnu --release
44+ cp target/x86_64-unknown-linux-gnu/release/tamanoir-tui tamanoir-tui-x86_64
2045
46+ - name : Build hello-world shellcodes for x86_64
47+ run : |
48+ ./tamanoir-c2-x86_64 rce build -c ./assets/payloads/hello -t x86_64
49+ ./tamanoir-c2-x86_64 rce build -c ./assets/payloads/xeyes -t x86_64
50+ cp $HOME/.tamanoir/bins/tamanoir-rce-hello_x86_64.bin tamanoir-rce-hello_x86_64.bin
51+ cp $HOME/.tamanoir/bins/tamanoir-rce-xeyes_x86_64.bin tamanoir-rce-xeyes_x86_64.bin
52+
53+ - name : Persist artifacts
54+ uses : actions/upload-artifact@v4
55+ with :
56+ name : arch-artifacts
57+ path : |
58+ tamanoir-x86_64
59+ tamanoir-c2-x86_64
60+ tamanoir-tui-x86_64
61+ tamanoir-rce-hello_x86_64.bin
62+ tamanoir-rce-xeyes_x86_64.bin
63+
64+ build_arm :
65+ permissions :
66+ contents : write
67+ continue-on-error : false
68+ runs-on : ubuntu-24.04-arm
69+ steps :
70+ - name : Checkout
71+ uses : actions/checkout@v4
72+ - uses : cargo-bins/cargo-binstall@main
2173 - uses : dtolnay/rust-toolchain@stable
2274 with :
2375 toolchain : nightly
@@ -26,36 +78,55 @@ jobs:
2678 - name : Install the dependencies
2779 run : |
2880 sudo apt update
29- sudo apt install -y podman binutils-aarch64-linux-gnu musl-tools
30- cargo binstall -y cross
81+ sudo apt install -y protobuf-compiler
3182 cargo binstall -y bpf-linker
3283
84+
3385 - name : Build tamanoir-ebpf
34- run : just build -ebpf
86+ run : cd tamanoir -ebpf && cargo build --release
3587
36- - name : Build tamanoir-proxy for arm64 musl
88+ - name : Build tamanoir for arm64
3789 run : |
38- CROSS_CONTAINER_ENGINE=podman cross build -p tamanoir-proxy --target aarch64-unknown-linux-musl --release
39- cp target/aarch64-unknown-linux-musl /release/tamanoir tamanoir-aarch64-unknown-linux-musl
90+ cargo build -p tamanoir --target aarch64-unknown-linux-gnu --release
91+ cp target/aarch64-unknown-linux-gnu /release/tamanoir tamanoir-aarch64
4092
41- - name : Build tamanoir-proxy for x86_64 musl
93+ - name : Build tamanoir-C2 for arm64
4294 run : |
43- CROSS_CONTAINER_ENGINE=podman cross build -p tamanoir-proxy --target x86_64 -unknown-linux-musl --release
44- cp target/x86_64 -unknown-linux-musl /release/tamanoir tamanoir-x86_64-unknown-linux-musl
95+ cargo build -p tamanoir-c2 --target aarch64 -unknown-linux-gnu --release
96+ cp target/aarch64 -unknown-linux-gnu /release/tamanoir-c2 tamanoir-c2-aarch64
4597
46- - name : Build tamanoir for arm64 musl
98+ - name : Build tamanoir-tui for arm64
4799 run : |
48- CROSS_CONTAINER_ENGINE=podman cross build -- target aarch64-unknown-linux-musl --release
49- cp target/aarch64 -unknown-linux-musl /release/tamanoir tamanoir-aarch64-unknown-linux-musl
100+ cargo build -p tamanoir-tui -- target aarch64-unknown-linux-gnu --release
101+ cp target/x86_64 -unknown-linux-gnu /release/tamanoir-tui tamanoir-tui-aarch64
50102
51- - name : Build tamanoir for x86_64 musl
103+ - name : Build hello-world shellcodes for arm64
52104 run : |
53- CROSS_CONTAINER_ENGINE=podman cross build --target x86_64-unknown-linux-musl --release
54- cp target/x86_64-unknown-linux-musl/release/tamanoir tamanoir-x86_64-unknown-linux-musl
105+ ./tamanoir-c2-aarch64 rce build -c ./assets/payloads/hello -t aarch64
106+ ./tamanoir-c2-aarch64 rce build -c ./assets/payloads/xeyes -t aarch64
107+ cp $HOME/.tamanoir/bins/tamanoir-rce-hello_aarch64.bin tamanoir-rce-hello_aarch64.bin
108+ cp $HOME/.tamanoir/bins/tamanoir-rce-xeyes_aarch64.bin tamanoir-rce-xeyes_aarch64.bin
109+
110+ - name : Persist artifacts
111+ uses : actions/upload-artifact@v4
112+ with :
113+ name : arch-artifacts
114+ path : |
115+ tamanoir-aarch64
116+ tamanoir-c2-aarch64
117+ tamanoir-tui-aarch64
118+ tamanoir-rce-hello_aarch64.bin
119+ tamanoir-rce-xeyes_aarch64.bin
55120
56- - name : Upload Binary
121+ release :
122+ needs : [build_x86,build_arm]
123+ runs-on : ubuntu-latest
124+ steps :
125+ - name : Upload Binaries
57126 uses : softprops/action-gh-release@v2
58127 with :
59- files : " tamanoir*"
128+ files : " tamanoir- *"
60129 body : |
61130 [Release.md](${{ github.server_url }}/${{ github.repository }}/blob/main/Release.md)
131+
132+
0 commit comments