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 {
        pullCreate = {
          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}"
          ];
          exec =
            (
              [
                "# Create a new commit on a new branch"
                "git checkout -b ${sharedLib.branch}"
                "echo 'Bye, World!' > bye.txt"
                "git add -A"
                "git commit -m 'Bye, World!' "
                "git push origin ${sharedLib.branch}"
              ]
              |> builtins.map (cmd: ''
                Type "${cmd}"
                Enter
                Sleep 250ms
              '')
            )
            ++ [
              "Wait+Screen /new branch/"
              "Sleep 500ms"
              ''Type "berg --non-interactive pull create --title First --target-branch ${sharedLib.main}"''
              "Enter"
              "Sleep 5s"
            ];
        };
      };
    };
}