depot/third_party/nixpkgs/pkgs/by-name/ma/marge-bot/package.nix
Default email bcb2f287e1 Project import generated by Copybara.
GitOrigin-RevId: d603719ec6e294f034936c0d0dc06f689d91b6c3
2024-06-20 20:27:18 +05:30

55 lines
1.3 KiB
Nix

{ lib
, python3
, fetchFromGitLab
}:
python3.pkgs.buildPythonApplication rec {
pname = "marge-bot";
version = "0.10.1";
pyproject = true;
src = fetchFromGitLab {
owner = "marge-org";
repo = "marge-bot";
rev = version;
hash = "sha256-2L7c/NEKyjscwpyf/5GtWXr7Ig14IQlRR5IbDYxp8jA=";
};
postPatch = ''
substituteInPlace setup.cfg --replace-fail "--flake8 --pylint --cov=marge" ""
'';
nativeBuildInputs = [
python3.pkgs.setuptools
];
propagatedBuildInputs = with python3.pkgs; [
configargparse
maya
pyyaml
requests
];
nativeCheckInputs = with python3.pkgs; [ pytestCheckHook pendulum ];
disabledTests = [
# test broken when run under Nix:
# "unittest.mock.InvalidSpecError: Cannot spec a Mock object."
"test_get_mr_ci_status"
];
disabledTestPaths = [
# test errors due to API mismatch in test setup:
# "ImportError: cannot import name 'set_test_now' from 'pendulum.helpers'"
"tests/test_interval.py"
];
pythonImportsCheck = [ "marge" ];
meta = with lib; {
description = "Merge bot for GitLab";
homepage = "https://gitlab.com/marge-org/marge-bot";
changelog = "https://gitlab.com/marge-org/marge-bot/-/blob/${src.rev}/CHANGELOG.md";
license = licenses.bsd3;
maintainers = with maintainers; [ bcdarwin ];
mainProgram = "marge.app";
};
}