Project: sparrowhub-update

Build now

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

Job

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>);