@@ -24,7 +24,92 @@ permissions:
2424 contents : write
2525 pull-requests : write
2626jobs :
27+ build-release :
28+ name : build-release
29+ runs-on : ${{ matrix.os }}
30+ permissions :
31+ contents : write
32+ pull-requests : write
33+ strategy :
34+ matrix :
35+ include :
36+ - binary_name : forge-x86_64-unknown-linux-musl
37+ binary_path : target/x86_64-unknown-linux-musl/release/forge
38+ cross : ' false'
39+ os : ubuntu-latest
40+ target : x86_64-unknown-linux-musl
41+ - binary_name : forge-aarch64-unknown-linux-musl
42+ binary_path : target/aarch64-unknown-linux-musl/release/forge
43+ cross : ' false'
44+ os : ubuntu-latest
45+ target : aarch64-unknown-linux-musl
46+ - binary_name : forge-x86_64-unknown-linux-gnu
47+ binary_path : target/x86_64-unknown-linux-gnu/release/forge
48+ cross : ' false'
49+ os : ubuntu-latest
50+ target : x86_64-unknown-linux-gnu
51+ - binary_name : forge-aarch64-unknown-linux-gnu
52+ binary_path : target/aarch64-unknown-linux-gnu/release/forge
53+ cross : ' true'
54+ os : ubuntu-latest
55+ target : aarch64-unknown-linux-gnu
56+ - binary_name : forge-x86_64-apple-darwin
57+ binary_path : target/x86_64-apple-darwin/release/forge
58+ cross : ' false'
59+ os : macos-latest
60+ target : x86_64-apple-darwin
61+ - binary_name : forge-aarch64-apple-darwin
62+ binary_path : target/aarch64-apple-darwin/release/forge
63+ cross : ' false'
64+ os : macos-latest
65+ target : aarch64-apple-darwin
66+ - binary_name : forge-x86_64-pc-windows-msvc.exe
67+ binary_path : target/x86_64-pc-windows-msvc/release/forge.exe
68+ cross : ' false'
69+ os : windows-latest
70+ target : x86_64-pc-windows-msvc
71+ - binary_name : forge-aarch64-pc-windows-msvc.exe
72+ binary_path : target/aarch64-pc-windows-msvc/release/forge.exe
73+ cross : ' false'
74+ os : windows-latest
75+ target : aarch64-pc-windows-msvc
76+ steps :
77+ - uses : actions/checkout@v4
78+ - uses : taiki-e/setup-cross-toolchain-action@v1
79+ with :
80+ target : ${{ matrix.target }}
81+ - name : Add Rust target
82+ run : rustup target add ${{ matrix.target }}
83+ - if : ' !contains(matrix.target, '' -unknown-linux-gnu'' )'
84+ run : echo "RUSTFLAGS=-C target-feature=+crt-static" >> $GITHUB_ENV
85+ - if : contains(matrix.target, '-unknown-linux-musl')
86+ run : |-
87+ sudo apt-get update && \
88+ sudo apt-get install -y \
89+ gcc-aarch64-linux-gnu \
90+ musl-tools \
91+ musl-dev \
92+ pkg-config \
93+ libssl-dev
94+ - uses : ClementTsang/cargo-action@v0.0.6
95+ with :
96+ command : build --release
97+ args : --target ${{ matrix.target }}
98+ use-cross : ${{ matrix.cross }}
99+ cross-version : 0.2.4
100+ env :
101+ RUSTFLAGS : ${{ env.RUSTFLAGS }}
102+ POSTHOG_API_SECRET : ${{secrets.POSTHOG_API_SECRET}}
103+ APP_VERSION : ${{ github.event.release.tag_name }}
104+ - run : cp ${{ matrix.binary_path }} ${{ matrix.binary_name }}
105+ - uses : xresloader/upload-to-github-release@v1
106+ with :
107+ release_id : ${{ github.event.release.id }}
108+ file : ${{ matrix.binary_name }}
109+ overwrite : ' true'
27110 homebrew_release :
111+ needs :
112+ - build-release
28113 name : homebrew_release
29114 runs-on : ubuntu-latest
30115 steps :
0 commit comments