Compare commits

...

2 commits

Author SHA1 Message Date
7dc6eb305d Document NixOs deployment 2026-03-02 12:28:01 +01:00
da304b96a9 ci: Deploy taskbot in this repository 2026-03-02 12:26:43 +01:00
3 changed files with 54 additions and 1 deletions

View file

@ -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
];
}

View file

@ -0,0 +1,15 @@
on:
schedule:
- cron: '0 8,18 * * *'
# For testing:
# 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"

View file

@ -26,4 +26,6 @@ RUST_LOG=debug cargo run
TaskBot is meant to run in CI where it automatically attaches to the issues of TaskBot is meant to run in CI where it automatically attaches to the issues of
the repository it is running from. It should run on a daily schedule. the repository it is running from. It should run on a daily schedule.
Documentation on CI integration is TBD. For NixOS runners, you can check
[`.forgejo/workflows/taskbot.yml`](./.forgejo/workflows/taskbot.yml) and the
associated [`taskbot.nix`](./.forgejo/script/taskbot.nix).