diff --git a/.forgejo/script/taskbot.nix b/.forgejo/script/taskbot.nix new file mode 100644 index 0000000..da67a7d --- /dev/null +++ b/.forgejo/script/taskbot.nix @@ -0,0 +1,36 @@ +let + # Tracking nixpkgs/nixos-25.11 as of 2026-03-02. + nixpkgsSrc = fetchTarball { + url = "https://github.com/NixOS/nixpkgs/archive/1267bb4920d0fc06ea916734c11b0bf004bbe17e.tar.gz"; + sha256 = "sha256:0sjac485rc346hpj5dvidh3lqdlq5lp7y7glicibgxqizrb90dpc"; + }; + # Tracking TaskBot main as of 2026-03-02. + taskbotSrc = fetchTarball { + url = "https://git.fa-fo.de/rahix/TaskBot/archive/0978ed7b5e86589728d538f0fe72e1a86018b0a5.tar.gz"; + sha256 = "sha256:0x9bw0vbhl8x83jik40qv4ylvp29dl2ixzrkn3l43f5hym5fqjca"; + }; + +in with import nixpkgsSrc {}; let + taskbot = pkgs.rustPlatform.buildRustPackage (f: { + pname = "taskbot"; + version = "main"; + + src = taskbotSrc; + + nativeBuildInputs = with pkgs; [ + pkg-config + ]; + + buildInputs = with pkgs; [ + openssl + ]; + + cargoLock.lockFile = "${taskbotSrc}/Cargo.lock"; + }); + +in pkgs.mkShell { + name = "taskbot"; + buildInputs = [ + taskbot + ]; +} diff --git a/.forgejo/workflows/taskbot.yml b/.forgejo/workflows/taskbot.yml new file mode 100644 index 0000000..aa93b85 --- /dev/null +++ b/.forgejo/workflows/taskbot.yml @@ -0,0 +1,12 @@ +on: + push: + branches: + - 'poc' + +jobs: + build: + runs-on: self-hosted-nixos-x86_64 + steps: + - uses: https://code.forgejo.org/actions/checkout@v4 + - name: Run TaskBot + run: nix-shell .forgejo/script/taskbot.nix --run "fafo-taskbot"