Skip to content

Commit 8dcd4ae

Browse files
authored
pkg: fix scripts (#1348)
* pkg: fix scripts * Mock gem creation * Respect dry-run
1 parent 21479f9 commit 8dcd4ae

File tree

6 files changed

+29
-14
lines changed

6 files changed

+29
-14
lines changed

.github/workflows/test.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,20 @@ jobs:
7474
zef install . --deps-only
7575
raku -I lib t/*.rakutest
7676
77+
raku prepare.raku --target=npm --dry-run
78+
raku prepare.raku --target=rubygems --dry-run
79+
raku prepare.raku --target=pypi --dry-run
80+
raku prepare.raku --target=aur --dry-run
81+
raku prepare.raku --target=aur-bin --dry-run
82+
83+
raku publish.raku --target=npm --dry-run
84+
mkdir -p ../registries/rubygems/pkg
85+
touch ../registries/rubygems/pkg/lefthook_99.gem
86+
raku publish.raku --target=rubygems --dry-run
87+
raku publish.raku --target=pypi --dry-run
88+
raku publish.raku --target=aur --dry-run
89+
raku publish.raku --target=aur-bin --dry-run
90+
7791
build:
7892
runs-on: ubuntu-latest
7993
steps:

packaging/scripts/lib/Registries/AUR/Publishing.rakumod

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ sub publish-aur-package(
1515
my $dest-pkgbuild = $clone-to.child("PKGBUILD");
1616

1717
$sys.in-dir(PKG-ROOT, {
18-
clone-aur-repo($name, $clone-to);
19-
copy-pkgbuild($path-to-pkgbuild, $dest-pkgbuild);
18+
clone-aur-repo($sys, $name, $clone-to);
19+
copy-pkgbuild($sys, $path-to-pkgbuild, $dest-pkgbuild);
2020
fill-sha256-sums($sys, $dest-pkgbuild, %sha256-urls);
2121
});
2222

@@ -33,12 +33,12 @@ sub publish-aur-package(
3333
});
3434
}
3535

36-
sub clone-aur-repo(Str:D $name, IO() $clone-to --> Nil) {
37-
run("git", "clone", "ssh://aur@aur.archlinux.org/{$name}.git", $clone-to);
36+
sub clone-aur-repo(SystemAPI $sys, Str:D $name, IO() $clone-to --> Nil) {
37+
$sys.run("git", "clone", "ssh://aur@aur.archlinux.org/{$name}.git", $clone-to);
3838
}
3939

40-
sub copy-pkgbuild(IO() $from, IO() $to --> Nil) {
41-
$from.copy($to);
40+
sub copy-pkgbuild(SystemAPI $sys, IO() $from, IO() $to --> Nil) {
41+
$sys.cp($from, $to);
4242
}
4343

4444
sub fill-sha256-sums(

packaging/scripts/lib/Registries/RubyGems.rakumod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ my constant %RUBYGEM-DISTS = (
2222

2323
has SystemAPI $.sys is required;
2424

25-
method target(--> Registry::Target:D) { Registry::Target::rubygem }
25+
method target(--> Registry::Target:D) { Registry::Target::rubygems }
2626

2727
method clean {
2828
$!sys.rm("{RUBYGEMS}/libexec/".IO.dir.grep(*.d));
@@ -54,7 +54,7 @@ method publish {
5454

5555
my $pkg-dir = RUBYGEMS.child("pkg");
5656
my $last-pkg = $pkg-dir.IO.dir.sort(*.basename).tail
57-
// die "no gem found in rubygems/pkg/";
57+
// die "no gem found in $pkg-dir";
5858

5959
$!sys.run("gem", "push", $last-pkg);
6060
}

packaging/scripts/lib/Registry.rakumod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ enum Target is export(:Target) <
55
all-registries
66

77
npm
8-
rubygem
8+
rubygems
99
pypi
1010
aur
1111
aur-bin

packaging/scripts/lib/System.rakumod

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@ class System does SystemAPI {
2121
my $old = $*CWD;
2222

2323
say "cd $path";
24-
chdir $path;
25-
LEAVE { say "cd $old"; chdir $old; } # like defer in Go
24+
25+
chdir $path unless $!dry-run;
26+
LEAVE { say "cd $old"; chdir $old unless $!dry-run; } # like defer in Go
2627

2728
block();
2829
}
@@ -38,11 +39,11 @@ class System does SystemAPI {
3839

3940
# Replaces text in a $file line-by-line.
4041
method replace(IO() :$file, Regex :$regex, :$replacement --> Nil) {
41-
die "$file does not exist" unless $file.f;
42-
4342
say "replace in $file\n\t{$regex.gist} -> {$replacement.gist}";
4443
return if $!dry-run;
4544

45+
die "$file does not exist" unless $file.f;
46+
4647
spurt $file, $file.slurp.lines.map({ .subst($regex, $replacement) }).join("\n") ~ "\n";
4748
}
4849

packaging/scripts/publish.raku

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ sub MAIN(
1010
Registry::Target :$target = all-registries,
1111
Bool :$dry-run = False,
1212
) {
13-
Packaging.new(
13+
Packager.new(
1414
target => $target,
1515
dry-run => $dry-run,
1616
).publish;

0 commit comments

Comments
 (0)