prontolabs / pronto

Quick automated code review of your changes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Failed to setup in GitLab CI

cawa-93 opened this issue · comments

I'm new to pronto and try to follow the documentation to run a gitlab check.

At first I just copied the СI config.

lint:
  image: ruby
  variables:
    PRONTO_GITLAB_API_ENDPOINT: "https://gitlab.com/api/v4"
    PRONTO_GITLAB_API_PRIVATE_TOKEN: token
  only:
    - merge_requests
  script:
    - bundle install
    - bundle exec pronto run -f gitlab_mr -c origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME

But the startup process crashed. After investigating the problem a bit, I installed cmake in addition. Now I get a different error.

My CI:

lint:
  image: ruby:latest
  variables:
    PRONTO_GITLAB_API_ENDPOINT: "https://gitlab.com/api/v4"
    PRONTO_GITLAB_API_PRIVATE_TOKEN: $CI_JOB_TOKEN
  only:
    - merge_requests
  script:
    - apt update
    - apt install --yes cmake libgmp-dev ruby-dev gcc libffi-dev make unzip
    - which ruby
    - gem install pronto pronto-phpcs
    - pronto run -f gitlab_mr -c origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME

Error:

ERROR:  Error installing pronto-phpcs:
	ERROR: Failed to build gem native extension.
    current directory: /usr/local/bundle/gems/rugged-0.99.0/ext/rugged
/usr/local/bin/ruby extconf.rb
checking for gmake... yes
checking for cmake... yes
checking for pkg-config... yes
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.
Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include=${opt-dir}/include
	--without-opt-include
	--with-opt-lib=${opt-dir}/lib
	--without-opt-lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/local/bin/$(RUBY_BASE_NAME)
	--with-sha1dc
	--without-sha1dc
	--use-system-libraries
extconf.rb:101:in `block in <main>': undefined method `exists?' for class Dir (NoMethodError)
    Dir.mkdir("build") if !Dir.exists?("build")
                              ^^^^^^^^
Did you mean?  exist?
	from extconf.rb:100:in `chdir'
	from extconf.rb:100:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
  /usr/local/bundle/extensions/x86_64-linux/3.3.0/rugged-0.99.0/mkmf.log
extconf failed, exit code 1

Full Build log

Running with gitlab-runner 16.6.0~beta.105.gd2263193 (d2263193)
  on blue-3.saas-linux-small-amd64.runners-manager.gitlab.com/default zxwgkjAP, system ID: s_d5d3abbdfd0a
  feature flags: FF_USE_IMPROVED_URL_MASKING:true
Preparing the "docker+machine" executor 00:19
Using Docker executor with image ruby:latest ...
Pulling docker image ruby:latest ...
Using docker image sha256:1a74e25729c73cee3121ec730a92a75b5838bf1520f28b0ef4edf24025e5d21b for ruby:latest with digest ruby@sha256:30ff8d6bd91710608014613c9b1820ced34f54af90d4ea20feb67cb2cc1e703b ...
Preparing environment 00:05
Running on runner-zxwgkjap-project-53399763-concurrent-0 via runner-zxwgkjap-s-l-s-amd64-1703771486-b4eb3b2a...
Getting source from Git repository 00:00
Fetching changes with git depth set to 20...
Initialized empty Git repository in /builds/kozack.webspark/daily-advisor-pronto-integration/.git/
Created fresh repository.
Checking out 5e12e0f1 as detached HEAD (ref is refs/merge-requests/1/head)...
Skipping Git submodules setup
$ git remote set-url origin "${CI_REPOSITORY_URL}"
Executing "step_script" stage of the job script 01:08
Using docker image sha256:1a74e25729c73cee3121ec730a92a75b5838bf1520f28b0ef4edf24025e5d21b for ruby:latest with digest ruby@sha256:30ff8d6bd91710608014613c9b1820ced34f54af90d4ea20feb67cb2cc1e703b ...
$ apt update
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8787 kB]
Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [11.5 kB]
Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [132 kB]
Fetched 9182 kB in 1s (9223 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
5 packages can be upgraded. Run 'apt list --upgradable' to see them.
$ apt install --yes cmake libgmp-dev ruby-dev gcc libffi-dev make unzip
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Reading package lists...
Building dependency tree...
Reading state information...
libgmp-dev is already the newest version (2:6.2.1+dfsg1-1.1).
gcc is already the newest version (4:12.2.0-3).
libffi-dev is already the newest version (3.4.4-1).
make is already the newest version (4.3-4.1).
unzip is already the newest version (6.0-28).
The following additional packages will be installed:
  cmake-data fonts-lato javascript-common libarchive13 libjs-jquery
  libjsoncpp25 librhash0 libruby libruby3.1 libuv1 rake ruby ruby-net-telnet
  ruby-rubygems ruby-sdbm ruby-webrick ruby-xmlrpc ruby3.1 ruby3.1-dev
  ruby3.1-doc rubygems-integration zip
Suggested packages:
  cmake-doc cmake-format elpa-cmake-mode ninja-build apache2 | lighttpd
  | httpd lrzip ri bundler
The following NEW packages will be installed:
  cmake cmake-data fonts-lato javascript-common libarchive13 libjs-jquery
  libjsoncpp25 librhash0 libruby libruby3.1 libuv1 rake ruby ruby-dev
  ruby-net-telnet ruby-rubygems ruby-sdbm ruby-webrick ruby-xmlrpc ruby3.1
  ruby3.1-dev ruby3.1-doc rubygems-integration zip
0 upgraded, 24 newly installed, 0 to remove and 5 not upgraded.
Need to get 24.7 MB of archives.
After this operation, 105 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main amd64 fonts-lato all 2.0-2.1 [2696 kB]
Get:2 http://deb.debian.org/debian bookworm/main amd64 libarchive13 amd64 3.6.2-1 [343 kB]
Get:3 http://deb.debian.org/debian bookworm/main amd64 libjsoncpp25 amd64 1.9.5-4 [78.6 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 librhash0 amd64 1.4.3-3 [134 kB]
Get:5 http://deb.debian.org/debian bookworm/main amd64 libuv1 amd64 1.44.2-1 [140 kB]
Get:6 http://deb.debian.org/debian bookworm/main amd64 cmake-data all 3.25.1-1 [2026 kB]
Get:7 http://deb.debian.org/debian bookworm/main amd64 cmake amd64 3.25.1-1 [8692 kB]
Get:8 http://deb.debian.org/debian bookworm/main amd64 javascript-common all 11+nmu1 [6260 B]
Get:9 http://deb.debian.org/debian bookworm/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB]
Get:10 http://deb.debian.org/debian bookworm/main amd64 rubygems-integration all 1.18 [6704 B]
Get:11 http://deb.debian.org/debian bookworm/main amd64 ruby3.1 amd64 3.1.2-7 [663 kB]
Get:12 http://deb.debian.org/debian bookworm/main amd64 ruby-rubygems all 3.3.15-2 [293 kB]
Get:13 http://deb.debian.org/debian bookworm/main amd64 ruby amd64 1:3.1 [5868 B]
Get:14 http://deb.debian.org/debian bookworm/main amd64 rake all 13.0.6-3 [83.9 kB]
Get:15 http://deb.debian.org/debian bookworm/main amd64 ruby-net-telnet all 0.2.0-1 [13.1 kB]
Get:16 http://deb.debian.org/debian bookworm/main amd64 ruby-webrick all 1.8.1-1 [51.4 kB]
Get:17 http://deb.debian.org/debian bookworm/main amd64 ruby-xmlrpc all 0.3.2-2 [24.4 kB]
Get:18 http://deb.debian.org/debian bookworm/main amd64 ruby-sdbm amd64 1.0.0-5+b1 [15.4 kB]
Get:19 http://deb.debian.org/debian bookworm/main amd64 libruby3.1 amd64 3.1.2-7 [5401 kB]
Get:20 http://deb.debian.org/debian bookworm/main amd64 libruby amd64 1:3.1 [4972 B]
Get:21 http://deb.debian.org/debian bookworm/main amd64 ruby3.1-dev amd64 3.1.2-7 [1001 kB]
Get:22 http://deb.debian.org/debian bookworm/main amd64 ruby-dev amd64 1:3.1 [5116 B]
Get:23 http://deb.debian.org/debian bookworm/main amd64 ruby3.1-doc all 3.1.2-7 [2449 kB]
Get:24 http://deb.debian.org/debian bookworm/main amd64 zip amd64 3.0-13 [230 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 24.7 MB in 0s (85.7 MB/s)
Selecting previously unselected package fonts-lato.
(Reading database ... 23259 files and directories currently installed.)
Preparing to unpack .../00-fonts-lato_2.0-2.1_all.deb ...
Unpacking fonts-lato (2.0-2.1) ...
Selecting previously unselected package libarchive13:amd64.
Preparing to unpack .../01-libarchive13_3.6.2-1_amd64.deb ...
Unpacking libarchive13:amd64 (3.6.2-1) ...
Selecting previously unselected package libjsoncpp25:amd64.
Preparing to unpack .../02-libjsoncpp25_1.9.5-4_amd64.deb ...
Unpacking libjsoncpp25:amd64 (1.9.5-4) ...
Selecting previously unselected package librhash0:amd64.
Preparing to unpack .../03-librhash0_1.4.3-3_amd64.deb ...
Unpacking librhash0:amd64 (1.4.3-3) ...
Selecting previously unselected package libuv1:amd64.
Preparing to unpack .../04-libuv1_1.44.2-1_amd64.deb ...
Unpacking libuv1:amd64 (1.44.2-1) ...
Selecting previously unselected package cmake-data.
Preparing to unpack .../05-cmake-data_3.25.1-1_all.deb ...
Unpacking cmake-data (3.25.1-1) ...
Selecting previously unselected package cmake.
Preparing to unpack .../06-cmake_3.25.1-1_amd64.deb ...
Unpacking cmake (3.25.1-1) ...
Selecting previously unselected package javascript-common.
Preparing to unpack .../07-javascript-common_11+nmu1_all.deb ...
Unpacking javascript-common (11+nmu1) ...
Selecting previously unselected package libjs-jquery.
Preparing to unpack .../08-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ...
Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Selecting previously unselected package rubygems-integration.
Preparing to unpack .../09-rubygems-integration_1.18_all.deb ...
Unpacking rubygems-integration (1.18) ...
Selecting previously unselected package ruby3.1.
Preparing to unpack .../10-ruby3.1_3.1.2-7_amd64.deb ...
Unpacking ruby3.1 (3.1.2-7) ...
Selecting previously unselected package ruby-rubygems.
Preparing to unpack .../11-ruby-rubygems_3.3.15-2_all.deb ...
Unpacking ruby-rubygems (3.3.15-2) ...
Selecting previously unselected package ruby.
Preparing to unpack .../12-ruby_1%3a3.1_amd64.deb ...
Unpacking ruby (1:3.1) ...
Selecting previously unselected package rake.
Preparing to unpack .../13-rake_13.0.6-3_all.deb ...
Unpacking rake (13.0.6-3) ...
Selecting previously unselected package ruby-net-telnet.
Preparing to unpack .../14-ruby-net-telnet_0.2.0-1_all.deb ...
Unpacking ruby-net-telnet (0.2.0-1) ...
Selecting previously unselected package ruby-webrick.
Preparing to unpack .../15-ruby-webrick_1.8.1-1_all.deb ...
Unpacking ruby-webrick (1.8.1-1) ...
Selecting previously unselected package ruby-xmlrpc.
Preparing to unpack .../16-ruby-xmlrpc_0.3.2-2_all.deb ...
Unpacking ruby-xmlrpc (0.3.2-2) ...
Selecting previously unselected package ruby-sdbm:amd64.
Preparing to unpack .../17-ruby-sdbm_1.0.0-5+b1_amd64.deb ...
Unpacking ruby-sdbm:amd64 (1.0.0-5+b1) ...
Selecting previously unselected package libruby3.1:amd64.
Preparing to unpack .../18-libruby3.1_3.1.2-7_amd64.deb ...
Unpacking libruby3.1:amd64 (3.1.2-7) ...
Selecting previously unselected package libruby:amd64.
Preparing to unpack .../19-libruby_1%3a3.1_amd64.deb ...
Unpacking libruby:amd64 (1:3.1) ...
Selecting previously unselected package ruby3.1-dev:amd64.
Preparing to unpack .../20-ruby3.1-dev_3.1.2-7_amd64.deb ...
Unpacking ruby3.1-dev:amd64 (3.1.2-7) ...
Selecting previously unselected package ruby-dev:amd64.
Preparing to unpack .../21-ruby-dev_1%3a3.1_amd64.deb ...
Unpacking ruby-dev:amd64 (1:3.1) ...
Selecting previously unselected package ruby3.1-doc.
Preparing to unpack .../22-ruby3.1-doc_3.1.2-7_all.deb ...
Unpacking ruby3.1-doc (3.1.2-7) ...
Selecting previously unselected package zip.
Preparing to unpack .../23-zip_3.0-13_amd64.deb ...
Unpacking zip (3.0-13) ...
Setting up javascript-common (11+nmu1) ...
Setting up fonts-lato (2.0-2.1) ...
Setting up libarchive13:amd64 (3.6.2-1) ...
Setting up rubygems-integration (1.18) ...
Setting up ruby3.1-doc (3.1.2-7) ...
Setting up zip (3.0-13) ...
Setting up libuv1:amd64 (1.44.2-1) ...
Setting up ruby-net-telnet (0.2.0-1) ...
Setting up libjsoncpp25:amd64 (1.9.5-4) ...
Setting up ruby-webrick (1.8.1-1) ...
Setting up librhash0:amd64 (1.4.3-3) ...
Setting up cmake-data (3.25.1-1) ...
Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Setting up ruby-xmlrpc (0.3.2-2) ...
Setting up cmake (3.25.1-1) ...
Setting up libruby:amd64 (1:3.1) ...
Setting up ruby-rubygems (3.3.15-2) ...
Setting up ruby3.1 (3.1.2-7) ...
Setting up ruby-sdbm:amd64 (1.0.0-5+b1) ...
Setting up ruby (1:3.1) ...
Setting up rake (13.0.6-3) ...
Setting up libruby3.1:amd64 (3.1.2-7) ...
Setting up ruby3.1-dev:amd64 (3.1.2-7) ...
Setting up ruby-dev:amd64 (1:3.1) ...
Processing triggers for fontconfig (2.14.1-4) ...
Processing triggers for libc-bin (2.36-9+deb12u3) ...
$ which ruby
/usr/local/bin/ruby
$ gem install pronto pronto-phpcs
Successfully installed thor-1.3.0
Building native extensions. This could take a while...
Successfully installed rugged-1.7.1
Successfully installed rainbow-3.1.1
Successfully installed faraday-net_http-3.0.2
Successfully installed faraday-2.8.1
Successfully installed public_suffix-5.0.4
Successfully installed addressable-2.8.6
Successfully installed sawyer-0.9.2
Successfully installed octokit-7.2.0
Successfully installed multi_xml-0.6.0
Successfully installed mini_mime-1.1.5
When you HTTParty, you must party hard!
Successfully installed httparty-0.21.0
Successfully installed unicode-display_width-2.5.0
Successfully installed terminal-table-3.0.2
Successfully installed gitlab-4.19.0
Successfully installed pronto-0.11.2
Successfully installed thor-0.19.4
Building native extensions. This could take a while...
ERROR:  Error installing pronto-phpcs:
	ERROR: Failed to build gem native extension.
    current directory: /usr/local/bundle/gems/rugged-0.99.0/ext/rugged
/usr/local/bin/ruby extconf.rb
checking for gmake... yes
checking for cmake... yes
checking for pkg-config... yes
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.
Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include=${opt-dir}/include
	--without-opt-include
	--with-opt-lib=${opt-dir}/lib
	--without-opt-lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/local/bin/$(RUBY_BASE_NAME)
	--with-sha1dc
	--without-sha1dc
	--use-system-libraries
extconf.rb:101:in `block in <main>': undefined method `exists?' for class Dir (NoMethodError)
    Dir.mkdir("build") if !Dir.exists?("build")
                              ^^^^^^^^
Did you mean?  exist?
	from extconf.rb:100:in `chdir'
	from extconf.rb:100:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
  /usr/local/bundle/extensions/x86_64-linux/3.3.0/rugged-0.99.0/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /usr/local/bundle/gems/rugged-0.99.0 for inspection.
Results logged to /usr/local/bundle/extensions/x86_64-linux/3.3.0/rugged-0.99.0/gem_make.out
16 gems installed
Cleaning up project directory and file based variables 00:00
ERROR: Job failed: exit code 1

It will probably be easier to debug if you run the gitlab runner locally

https://docs.gitlab.com/runner/install/docker.html#docker-images