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-
17- - uses : taiki-e/install-action@just
18-
1916 - uses : cargo-bins/cargo-binstall@main
20-
2117 - uses : dtolnay/rust-toolchain@stable
2218 with :
2319 toolchain : nightly
@@ -26,36 +22,110 @@ jobs:
2622 - name : Install the dependencies
2723 run : |
2824 sudo apt update
29- sudo apt install -y podman binutils-aarch64-linux-gnu musl-tools
30- cargo binstall -y cross
25+ sudo apt install -y musl-tools protobuf-compiler
3126 cargo binstall -y bpf-linker
3227
28+
3329 - name : Build tamanoir-ebpf
34- run : just build -ebpf
30+ run : cd tamanoir -ebpf && cargo build --release
3531
36- - name : Build tamanoir-proxy for arm64 musl
32+ - name : Build tamanoir for x86_64 musl
3733 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
34+ cargo build -p tamanoir --target x86_64 -unknown-linux-musl --release
35+ cp target/x86_64 -unknown-linux-musl/release/tamanoir tamanoir-x86_64 -unknown-linux-musl
4036
41- - name : Build tamanoir-proxy for x86_64 musl
37+ - name : Build tamanoir-c2 for x86_64 musl
4238 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
39+ cargo build -p tamanoir-c2 --target x86_64-unknown-linux-musl --release
40+ cp target/x86_64-unknown-linux-musl/release/tamanoir-c2 tamanoir-c2-x86_64-unknown-linux-musl
41+
42+ - name : Build tamanoir-tui for x86_64 musl
43+ run : |
44+ cargo build -p tamanoir-tui --target x86_64-unknown-linux-musl --release
45+ cp target/x86_64-unknown-linux-musl/release/tamanoir-tui tamanoir-tui-x86_64-unknown-linux-musl
46+
47+ - name : Build hello-world shellcodes for x86_64 musl
48+ ./tamanoir-c2-x86_64-unknown-linux-musl rce build -c ./assets/payloads/hello -t x86_64
49+ ./tamanoir-c2-x86_64-unknown-linux-musl 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-unknown-linux-musl
59+ tamanoir-c2-x86_64-unknown-linux-musl
60+ tamanoir-tui-x86_64-unknown-linux-musl
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
73+ - uses : dtolnay/rust-toolchain@stable
74+ with :
75+ toolchain : nightly
76+ components : clippy rustfmt
77+
78+ - name : Install the dependencies
79+ run : |
80+ sudo apt update
81+ sudo apt install -y musl-tools protobuf-compiler
82+ cargo binstall -y cargo
83+ cargo binstall -y bpf-linker
84+
85+ - name : Build tamanoir-ebpf
86+ run : cd tamanoir-ebpf && cargo build --release
4587
4688 - name : Build tamanoir for arm64 musl
4789 run : |
48- CROSS_CONTAINER_ENGINE=podman cross build --target aarch64-unknown-linux-musl --release
90+ cargo build -p tamanoir --target aarch64-unknown-linux-musl --release
4991 cp target/aarch64-unknown-linux-musl/release/tamanoir tamanoir-aarch64-unknown-linux-musl
5092
51- - name : Build tamanoir for x86_64 musl
93+ - name : Build tamanoir-C2 for arm64 musl
5294 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
95+ cargo build -p tamanoir-c2 --target aarch64-unknown-linux-musl --release
96+ cp target/aarch64-unknown-linux-musl/release/tamanoir-c2 tamanoir-c2-aarch64-unknown-linux-musl
97+
98+ - name : Build tamanoir-tui for arm64 musl
99+ run : |
100+ cargo build -p tamanoir-tui --target aarch64-unknown-linux-musl --release
101+ cp target/x86_64-unknown-linux-musl/release/tamanoir-tui tamanoir-tui-aarch64-unknown-linux-musl
102+
103+ - name : Build hello-world shellcodes for arm64 musl
104+ ./tamanoir-c2-aarch64-unknown-linux-musl rce build -c ./assets/payloads/hello -t aarch64
105+ ./tamanoir-c2-aarch64-unknown-linux-musl rce build -c ./assets/payloads/xeyes -t aarch64
106+ cp $HOME/.tamanoir/bins/tamanoir-rce-hello_aarch64.bin tamanoir-rce-hello_aarch64.bin
107+ cp $HOME/.tamanoir/bins/tamanoir-rce-xeyes_aarch64.bin tamanoir-rce-xeyes_aarch64.bin
108+
109+ - name : Persist artifacts
110+ uses : actions/upload-artifact@v4
111+ with :
112+ name : arch-artifacts
113+ path : |
114+ tamanoir-aarch64-unknown-linux-musl
115+ tamanoir-c2-aarch64-unknown-linux-musl
116+ tamanoir-tui-aarch64-unknown-linux-musl
117+ tamanoir-rce-hello_aarch64.bin
118+ tamanoir-rce-xeyes_aarch64.bin
55119
56- - name : Upload Binary
120+ release :
121+ needs : [build_x86,build_arm]
122+ runs-on : ubuntu-latest
123+ steps :
124+ - name : Upload Binaries
57125 uses : softprops/action-gh-release@v2
58126 with :
59- files : " tamanoir*"
127+ files : " tamanoir- *"
60128 body : |
61129 [Release.md](${{ github.server_url }}/${{ github.repository }}/blob/main/Release.md)
130+
131+
0 commit comments