Configuration:
sparrowdo:
no_sudo: true
no_index_update: false
bootstrap: false
format: default
repo: https://sparrowhub.io/repo
tags: SCM_URL=https://github.com/melezhik/sparrow-plugins.git
disabled: false
keep_builds: 100
allow_manual_run: true
scm:
url: https://github.com/melezhik/sparrow-plugins.git
branch: HEAD
Scenario:
directory "scm";
git-scm tags()<SCM_URL>, %(
to => "scm",
branch => tags<SCM_BRANCH>
);
my $old-commit = tags()<SCM_SHA>;
if "{%*ENV<HOME>}/sparrow-plugins.commit".IO ~~ :e {
$old-commit = "{%*ENV<HOME>}/sparrow-plugins.commit".IO.slurp || tags()<SCM_SHA>;
}
my %state = task-run "get git change", "git-updated-dirs", %(
dir => "scm",
commit_old => $old-commit,
commit_new => tags()<SCM_SHA>,
level => 0,
);
for %state<list><> -> $i {
say "process [{$i} -> [{$i.IO.basename}]]";
bash "pwd && ls -l && s6 --upload && s6 --index-update", %(
cwd => "{$*CWD}/scm/{$i.IO.basename}",
envvars => %( SP6_REPO => "file://{%*ENV<HOME>}/repo" )
);
};
"{%*ENV<HOME>}/sparrow-plugins.commit".IO.spurt(tags()<SCM_SHA>);