Skip to content

Commit 6a89003

Browse files
laststylebender14autofix-ci[bot]tusharmath
authored
fix: regenerate binaries on publish (#1113)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Tushar Mathur <tusharmath@gmail.com>
1 parent d606a5a commit 6a89003

23 files changed

Lines changed: 572 additions & 358 deletions

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696
build_release:
9797
needs:
9898
- draft_release
99-
if: (github.event_name == 'push' && github.ref == 'refs/heads/main')
99+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
100100
name: build-release
101101
runs-on: ${{ matrix.os }}
102102
permissions:

.github/workflows/release-homebrew.yml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,92 @@ permissions:
2424
contents: write
2525
pull-requests: write
2626
jobs:
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:

.github/workflows/release-npm.yml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,92 @@ permissions:
2424
contents: write
2525
pull-requests: write
2626
jobs:
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
npm_release:
111+
needs:
112+
- build-release
28113
name: npm_release
29114
runs-on: ubuntu-latest
30115
strategy:

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/forge_ci/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ serde.workspace = true
88
serde_json.workspace = true
99
gh-workflow-tailcall.workspace = true
1010
indexmap.workspace = true
11+
derive_setters.workspace = true
1112

1213
[dev-dependencies]
13-
pretty_assertions.workspace = true
14+
pretty_assertions.workspace = true

crates/forge_ci/src/jobs/build.rs

Lines changed: 0 additions & 116 deletions
This file was deleted.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
use gh_workflow_tailcall::*;
2+
3+
/// Create a job to update the release draft
4+
pub fn draft_release_update_job() -> Job {
5+
Job::new("update_release_draft")
6+
.runs_on("ubuntu-latest")
7+
.add_step(
8+
Step::uses("release-drafter", "release-drafter", "v6")
9+
.env(("GITHUB_TOKEN", "${{ secrets.GITHUB_TOKEN }}"))
10+
.add_with(("config-name", "release-drafter.yml")),
11+
)
12+
}

crates/forge_ci/src/jobs/labels.rs renamed to crates/forge_ci/src/jobs/label_sync_job.rs

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,7 @@
11
use gh_workflow_tailcall::*;
22

3-
/// Create a GitHub Label Sync workflow
4-
pub fn create_labels_workflow() -> Workflow {
5-
let mut labels_workflow = Workflow::default()
6-
.name("Github Label Sync")
7-
.on(Event {
8-
push: Some(Push { branches: vec!["main".to_string()], ..Push::default() }),
9-
..Event::default()
10-
})
11-
.permissions(Permissions::default().contents(Level::Write));
12-
13-
labels_workflow = labels_workflow.add_job("label-sync", create_label_sync_job());
14-
15-
labels_workflow
16-
}
17-
183
/// Create a job to sync GitHub labels
19-
pub fn create_label_sync_job() -> Job {
4+
pub fn label_sync_job() -> Job {
205
Job::new("label-sync")
216
.runs_on("ubuntu-latest")
227
.permissions(

0 commit comments

Comments
 (0)