Skip to content

Commit dc04800

Browse files
committed
chore: release script cleanup
1 parent e5cbb98 commit dc04800

File tree

4 files changed

+57
-49
lines changed

4 files changed

+57
-49
lines changed

.bazelignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
external
22
dist
3+
.cache

.editorconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
root = true
2+
3+
[*]
4+
end_of_line = lf

WORKSPACE.bazel

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ setup_7zip()
2929

3030
http_archive(
3131
name = "rules_blender",
32-
sha256 = "05acad9716ec6c80cadb603e7f585acbaadf670bce6920959824122e25e97e9c",
33-
strip_prefix = "rules_blender-dc8c77bdb27e4af7cb1c95610a119a8ad64e57c7",
34-
urls = ["https://github.com/zaucy/rules_blender/archive/dc8c77bdb27e4af7cb1c95610a119a8ad64e57c7.zip"],
32+
integrity = "sha256-HKH9Y2wiL/EkVEFcaCZHT8ACW8SHX24UZ8EHEhwcI8w=",
33+
strip_prefix = "rules_blender-e5f5b1ef894fe4da7b3cbf85ca857b6fd3bdffba",
34+
urls = ["https://github.com/zaucy/rules_blender/archive/e5f5b1ef894fe4da7b3cbf85ca857b6fd3bdffba.zip"],
3535
)
3636

3737
load("@rules_blender//:repo.bzl", "blender_repository")
3838

39-
blender_repository(name = "blender")
39+
blender_repository(name = "blender", blender_version = "system", only_system_installed_blender = True)
4040

4141
http_archive(
4242
name = "ecsact_logo",

release.nu

Lines changed: 48 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,48 @@
1-
def get-ecsact-deps [] {
2-
(buildozer -output_json 'print name version' //MODULE.bazel:%bazel_dep
3-
| from json
4-
| get records
5-
| each {|record| {name: $record.fields.0.text, version: $record.fields.1.text?} }
6-
| filter {|dep| $dep.name | str starts-with "ecsact_"}
7-
)
8-
}
9-
10-
def main [version: string] {
11-
let start_dir = $env.PWD;
12-
let before_update_deps = get-ecsact-deps;
13-
let changelog_template = [$start_dir, "release-notes-template"] | path join;
14-
15-
$before_update_deps | each {|dep| bzlmod add $dep.name; };
16-
17-
let release_notes = (get-ecsact-deps | each {|dep|
18-
let before_version = $before_update_deps | where name == $dep.name | get version | get 0;
19-
let after_version = $dep | get version;
20-
let dep_repo_remote = $"https://github.com/ecsact-dev/($dep.name)";
21-
let cached_repo_dir = $".cache/repos/($dep.name)";
22-
mut dep_release_notes = "";
23-
24-
if $after_version != $before_version {
25-
rm -rf $cached_repo_dir;
26-
git clone --quiet $dep_repo_remote $cached_repo_dir;
27-
cd $cached_repo_dir;
28-
let changelog = cog changelog $"($before_version)..($after_version)" -o ecsact-dev --repository $dep.name --remote "github.com" -t $changelog_template;
29-
rm -rf $cached_repo_dir;
30-
cd $start_dir;
31-
$dep_release_notes += $"# ($dep.name) ($before_version) -> ($after_version)\n\n";
32-
$dep_release_notes += $changelog;
33-
}
34-
35-
$dep_release_notes
36-
});
37-
38-
let release_notes = $release_notes | reduce {|$section, $full| $full + $section} -f "";
39-
git add MODULE.bazel;
40-
git commit -m $"chore\(deps\): ecsact repos for ($version) release";
41-
git push origin main;
42-
git tag $version;
43-
git push origin $version;
44-
gh release create $version -n $release_notes --latest -t $version --verify-tag --latest;
45-
}
1+
def get-ecsact-deps [] {
2+
(buildozer -output_json 'print name version' //MODULE.bazel:%bazel_dep
3+
| from json
4+
| get records
5+
| each {|record| {name: $record.fields.0.text, version: $record.fields.1.text?} }
6+
| filter {|dep| $dep.name | str starts-with "ecsact_"}
7+
)
8+
}
9+
10+
def main [version: string] {
11+
let start_dir = $env.PWD;
12+
let before_update_deps = get-ecsact-deps;
13+
let changelog_template = [$start_dir, "release-notes-template"] | path join;
14+
15+
$before_update_deps | each {|dep| bzlmod add $dep.name; };
16+
17+
# sanity check
18+
bazel build //...;
19+
20+
let release_notes = (get-ecsact-deps | each {|dep|
21+
let before_version = $before_update_deps | where name == $dep.name | get version | get 0;
22+
let after_version = $dep | get version;
23+
let dep_repo_remote = $"https://github.com/ecsact-dev/($dep.name)";
24+
let cached_repo_dir = $".cache/repos/($dep.name)";
25+
mut dep_release_notes = "";
26+
27+
if $after_version != $before_version {
28+
rm -rf $cached_repo_dir;
29+
git clone --quiet $dep_repo_remote $cached_repo_dir;
30+
cd $cached_repo_dir;
31+
let changelog = cog changelog $"($before_version)..($after_version)" -o ecsact-dev --repository $dep.name --remote "github.com" -t $changelog_template;
32+
rm -rf $cached_repo_dir;
33+
cd $start_dir;
34+
$dep_release_notes += $"# ($dep.name) ($before_version) -> ($after_version)\n\n";
35+
$dep_release_notes += $changelog;
36+
}
37+
38+
$dep_release_notes
39+
});
40+
41+
let release_notes = $release_notes | reduce {|$section, $full| $full + $section} -f "";
42+
git add MODULE.bazel;
43+
git commit -m $"chore\(deps\): ecsact repos for ($version) release";
44+
git push origin main;
45+
git tag $version;
46+
git push origin $version;
47+
gh release create $version -n $release_notes --latest -t $version --verify-tag --latest;
48+
}

0 commit comments

Comments
 (0)