arduino-ci: init at 0.1.0
arduino-ci allows you to quickly add continuous integration (CI) tests to Arduino libraries. It uses arduino-cli to install dependencies and then it compiles every example with every board.
This commit is contained in:
parent
41cb91fd89
commit
a42468954d
2 changed files with 48 additions and 0 deletions
46
pkgs/development/arduino/arduino-ci/default.nix
Normal file
46
pkgs/development/arduino/arduino-ci/default.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ stdenv, fetchFromGitHub, makeWrapper, arduino-cli, ruby, python3, patchelf }:
|
||||
|
||||
let
|
||||
|
||||
runtimePath = stdenv.lib.makeBinPath [
|
||||
arduino-cli
|
||||
(python3.withPackages (ps: [ ps.pyserial ])) # required by esp32 core
|
||||
patchelf # required by esp32 core
|
||||
];
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "arduino-ci";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pololu";
|
||||
repo = "arduino-ci";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-uLCLupzJ446WcxXZtzJk1wnae+k1NTSy0cGHLqW7MZU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
install $src/ci.rb $out/bin/arduino-ci
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
fixupPhase = ''
|
||||
substituteInPlace $out/bin/arduino-ci --replace "/usr/bin/env nix-shell" "${ruby}/bin/ruby"
|
||||
wrapProgram $out/bin/arduino-ci --prefix PATH ":" "${runtimePath}"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "CI for Arduino Libraries";
|
||||
homepage = src.meta.homepage;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ryantm ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
|
@ -870,6 +870,8 @@ in
|
|||
|
||||
arduino = arduino-core.override { withGui = true; };
|
||||
|
||||
arduino-ci = callPackage ../development/arduino/arduino-ci { };
|
||||
|
||||
arduino-cli = callPackage ../development/arduino/arduino-cli { };
|
||||
|
||||
arduino-core = callPackage ../development/arduino/arduino-core { };
|
||||
|
|
Loading…
Reference in a new issue