]> git.immae.eu Git - github/fretlink/pronto-hlint.git/commitdiff
ci: fix Nix environment to launch tests
authorPaul Bonaud <paul.bonaud@fretlink.com>
Sun, 14 Apr 2019 17:42:39 +0000 (19:42 +0200)
committerPaul Bonaud <paul.bonaud@fretlink.com>
Mon, 2 Mar 2020 14:27:34 +0000 (15:27 +0100)
.travis.yml
ci/default.nix [new file with mode: 0644]
ci/pronto/Gemfile [new file with mode: 0644]
ci/pronto/Gemfile.lock [new file with mode: 0644]
ci/pronto/default.nix [new file with mode: 0644]
ci/pronto/gemset.nix [new file with mode: 0644]
default.nix [new file with mode: 0644]

index 74e9f59cfc829f86e4602f20e3e77c7b93fcaff9..346f62d1bd72e701a48e64690c7560feabfc7be4 100644 (file)
@@ -1,8 +1,6 @@
 ---
 language: nix
 before_script:
-  - nix-env -iA nixpkgs.hlint nixpkgs.ruby_2_6
-  - gem install bundler
+  - nix-env -i -f default.nix
 script:
-  - bundle install
-  - bundle exec rake spec
+  - rake spec
diff --git a/ci/default.nix b/ci/default.nix
new file mode 100644 (file)
index 0000000..9aecd21
--- /dev/null
@@ -0,0 +1,5 @@
+{ callPackage, hlint }:
+{
+  pronto = callPackage ./pronto {};
+  inherit hlint;
+}
diff --git a/ci/pronto/Gemfile b/ci/pronto/Gemfile
new file mode 100644 (file)
index 0000000..615ae47
--- /dev/null
@@ -0,0 +1,6 @@
+source "https://rubygems.org"
+
+gem "pronto"
+gem "pronto-hlint"
+gem "rspec"
+gem "rake"
diff --git a/ci/pronto/Gemfile.lock b/ci/pronto/Gemfile.lock
new file mode 100644 (file)
index 0000000..683d4dd
--- /dev/null
@@ -0,0 +1,67 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
+    diff-lcs (1.3)
+    faraday (1.0.0)
+      multipart-post (>= 1.2, < 3)
+    gitlab (4.13.1)
+      httparty (~> 0.14, >= 0.14.0)
+      terminal-table (~> 1.5, >= 1.5.1)
+    httparty (0.18.0)
+      mime-types (~> 3.0)
+      multi_xml (>= 0.5.2)
+    mime-types (3.3.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2019.1009)
+    multi_xml (0.6.0)
+    multipart-post (2.1.1)
+    octokit (4.16.0)
+      faraday (>= 0.9)
+      sawyer (~> 0.8.0, >= 0.5.3)
+    pronto (0.10.0)
+      gitlab (~> 4.0, >= 4.0.0)
+      httparty (>= 0.13.7)
+      octokit (~> 4.7, >= 4.7.0)
+      rainbow (>= 2.2, < 4.0)
+      rugged (~> 0.24, >= 0.23.0)
+      thor (~> 0.20.0)
+    pronto-hlint (0.1.0)
+      pronto (~> 0.10.0)
+    public_suffix (4.0.3)
+    rainbow (3.0.0)
+    rake (13.0.1)
+    rspec (3.9.0)
+      rspec-core (~> 3.9.0)
+      rspec-expectations (~> 3.9.0)
+      rspec-mocks (~> 3.9.0)
+    rspec-core (3.9.1)
+      rspec-support (~> 3.9.1)
+    rspec-expectations (3.9.0)
+      diff-lcs (>= 1.2.0, < 2.0)
+      rspec-support (~> 3.9.0)
+    rspec-mocks (3.9.1)
+      diff-lcs (>= 1.2.0, < 2.0)
+      rspec-support (~> 3.9.0)
+    rspec-support (3.9.2)
+    rugged (0.28.4.1)
+    sawyer (0.8.2)
+      addressable (>= 2.3.5)
+      faraday (> 0.8, < 2.0)
+    terminal-table (1.8.0)
+      unicode-display_width (~> 1.1, >= 1.1.1)
+    thor (0.20.3)
+    unicode-display_width (1.6.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  pronto
+  pronto-hlint
+  rake
+  rspec
+
+BUNDLED WITH
+   1.17.3
diff --git a/ci/pronto/default.nix b/ci/pronto/default.nix
new file mode 100644 (file)
index 0000000..fd668c9
--- /dev/null
@@ -0,0 +1,10 @@
+{ bundlerEnv, ruby, hlint }:
+let gems = import ./gemset.nix;
+in
+  bundlerEnv {
+    name = "pronto-${gems.pronto.version}";
+    inherit ruby;
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    gemset = ./gemset.nix;
+  }
diff --git a/ci/pronto/gemset.nix b/ci/pronto/gemset.nix
new file mode 100644 (file)
index 0000000..fa412e1
--- /dev/null
@@ -0,0 +1,266 @@
+{
+  addressable = {
+    dependencies = ["public_suffix"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
+      type = "gem";
+    };
+    version = "2.7.0";
+  };
+  diff-lcs = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
+      type = "gem";
+    };
+    version = "1.3";
+  };
+  faraday = {
+    dependencies = ["multipart-post"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11yn7mhi4rl24brs2qfwysas14csjf1zmb835cfklqz5ka032xp6";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  gitlab = {
+    dependencies = ["httparty" "terminal-table"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04m14gyacd2dbx8ddl6ka9yrvy8xykl1px1l2pyc347pi8q5nq3k";
+      type = "gem";
+    };
+    version = "4.13.1";
+  };
+  httparty = {
+    dependencies = ["mime-types" "multi_xml"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vzfzry2inyz9yd9x9zflm7rzwa3vlp9kl05ajpsxrx6gh8pzxy6";
+      type = "gem";
+    };
+    version = "0.18.0";
+  };
+  mime-types = {
+    dependencies = ["mime-types-data"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
+      type = "gem";
+    };
+    version = "3.3.1";
+  };
+  mime-types-data = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
+      type = "gem";
+    };
+    version = "3.2019.1009";
+  };
+  multi_xml = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj";
+      type = "gem";
+    };
+    version = "0.6.0";
+  };
+  multipart-post = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj";
+      type = "gem";
+    };
+    version = "2.1.1";
+  };
+  octokit = {
+    dependencies = ["faraday" "sawyer"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06kx258qa5k24q5pv8i4daaw3g57gif6p5k5h3gndj3q2jk6vhkn";
+      type = "gem";
+    };
+    version = "4.16.0";
+  };
+  pronto = {
+    dependencies = ["gitlab" "httparty" "octokit" "rainbow" "rugged" "thor"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0n6pykyp5jcpgwcvdxyrhjc7n8w95m0pgixz6cpx0n8vwvw1vhlv";
+      type = "gem";
+    };
+    version = "0.10.0";
+  };
+  pronto-hlint = {
+    dependencies = ["pronto"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lfan7bgvyns8rb3qz4f5a56ylfqkjqyjc7hdi2qbnwcswldfqkg";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
+  public_suffix = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1c6kq6s13idl2036b5lch8r7390f8w82cal8hcp4ml76fm2vdac7";
+      type = "gem";
+    };
+    version = "4.0.3";
+  };
+  rainbow = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
+      type = "gem";
+    };
+    version = "3.0.0";
+  };
+  rake = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9";
+      type = "gem";
+    };
+    version = "13.0.1";
+  };
+  rspec = {
+    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hzsig4pi9ybr0xl5540m1swiyxa74c8h09225y5sdh2rjkkg84h";
+      type = "gem";
+    };
+    version = "3.9.0";
+  };
+  rspec-core = {
+    dependencies = ["rspec-support"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qzc1wdjb1qnbimjl8i1q1r1z5hdv2lmcw7ysz7jawj4d1cvpqvd";
+      type = "gem";
+    };
+    version = "3.9.1";
+  };
+  rspec-expectations = {
+    dependencies = ["diff-lcs" "rspec-support"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gjqfb39da6gywdcp4h77738r7khbrn2v4y45589z25bj4z9paf0";
+      type = "gem";
+    };
+    version = "3.9.0";
+  };
+  rspec-mocks = {
+    dependencies = ["diff-lcs" "rspec-support"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19vmdqym1v2g1zbdnq37zwmyj87y9yc9ijwc8js55igvbb9hx0mr";
+      type = "gem";
+    };
+    version = "3.9.1";
+  };
+  rspec-support = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zwpyq1na23pvgacpxs2v9nwfbjbw6x3arca5j3l1xagigqmzhc3";
+      type = "gem";
+    };
+    version = "3.9.2";
+  };
+  rugged = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rdidxgpk1b6y1jq9v77lcx5khq0s9q0s253lr8x57d3hk43iskx";
+      type = "gem";
+    };
+    version = "0.28.4.1";
+  };
+  sawyer = {
+    dependencies = ["addressable" "faraday"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz";
+      type = "gem";
+    };
+    version = "0.8.2";
+  };
+  terminal-table = {
+    dependencies = ["unicode-display_width"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk";
+      type = "gem";
+    };
+    version = "1.8.0";
+  };
+  thor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29";
+      type = "gem";
+    };
+    version = "0.20.3";
+  };
+  unicode-display_width = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pppclzq4qb26g321553nm9xqca3zgllvpwb2kqxsdadwj51s09x";
+      type = "gem";
+    };
+    version = "1.6.1";
+  };
+}
\ No newline at end of file
diff --git a/default.nix b/default.nix
new file mode 100644 (file)
index 0000000..319a18b
--- /dev/null
@@ -0,0 +1,7 @@
+{ pkgs ? import <nixpkgs> {} }:
+
+with pkgs;
+
+let ci = callPackage ./ci/default.nix {};
+
+in ci