pub fn create_build_release_main_job(draft_release_job: &Job) -> Job {
    let matrix = matrix::create_matrix();
    create_build_release_job(matrix.clone(), draft_release_job)
        .cond(Expression::new(
            "(github.event_name == 'push' && github.ref == 'refs/heads/main')",
        ))
        // Rename binary to target name
        .add_step(Step::run(
            "cp ${{ matrix.binary_path }} ${{ matrix.binary_name }}",
        ))
        // Upload directly to release
        .add_step(
            Step::uses("xresloader", "upload-to-github-release", "v1")
                .add_with((
                    "release_id",
                    "${{ needs.draft_release.outputs.crate_release_id }}",
                ))
                .add_with(("file", "${{ matrix.binary_name }}"))
                .add_with(("overwrite", "true")),
        )
}
Create a build job for main branch that adds binaries to release
crates/forge_ci/src/jobs/build.rs