codeberg-cli 0.5.5

CLI Tool for codeberg similar to gh and glab
Documentation
{ inputs, ... }:
let
  sharedLib = inputs.self.sharedLib;
in
{
  perSystem =
    {
      self',
      lib,
      pkgs,
      ...
    }:
    let
      tapeTestLib = inputs.self.tapeTestLib { inherit self' lib pkgs; };
    in
    {
      checks = tapeTestLib.embeddInFlake {
        repoOpen = {
          extraSetup = [
            "berg auth login --token TOKEN"
            "berg --non-interactive repo create --name ${sharedLib.repo} --default-branch ${sharedLib.main}"
          ];
          exec = [
            ''Type "BROWSER=firefox berg repo open ${sharedLib.user}/${sharedLib.repo}"''
            "Sleep 500ms"
            "Enter"
            "Sleep 3s"
          ];
        };
        repoListBranches = {
          extraSetup = [
            "berg auth login --token TOKEN"
            "berg --non-interactive repo create --name ${sharedLib.repo} --default-branch ${sharedLib.main}"
            "berg repo clone ${sharedLib.user}/${sharedLib.repo}"
            "cd ${sharedLib.repo}"
            "git checkout -b ${sharedLib.main}"
            "echo 'Hello, World!' > hello.txt"
            "git add -A"
            "git commit -m 'Hello, World!' "
            "git push origin ${sharedLib.main}"
            "git checkout -b foo"
            "git push origin foo"
            "git checkout -b bar"
            "git push origin bar"
          ];
          exec = [
            ''Type "berg repo branch list"''
            "Sleep 500ms"
            "Enter"
            "Sleep 3s"
          ];
        };
        repoDeleteBranch = {
          extraSetup = [
            "berg auth login --token TOKEN"
            "berg --non-interactive repo create --name ${sharedLib.repo} --default-branch ${sharedLib.main}"
            "berg repo clone ${sharedLib.user}/${sharedLib.repo}"
            "cd ${sharedLib.repo}"
            "git checkout -b ${sharedLib.main}"
            "echo 'Hello, World!' > hello.txt"
            "git add -A"
            "git commit -m 'Hello, World!' "
            "git push origin ${sharedLib.main}"
            "git checkout -b foo"
            "git push origin foo"
            "git checkout -b bar"
            "git push origin bar"
          ];
          exec = [
            ''Type "berg repo branch list"''
            "Sleep 500ms"
            "Enter"
            ''Type "berg repo branch delete foo"''
            "Sleep 500ms"
            "Enter"
            ''Type "berg repo branch list"''
            "Sleep 500ms"
            "Enter"
            "Sleep 3s"
          ];
        };
      };
    };
}