Open17

CircleCI の日本語ドキュメントを直したい(と思ったが諦めた)

ピン留めされたアイテム
snakasnaka

モチベーション

CircleCI 公式ページの日本語版ドキュメントの内容が一部古く、役に立たなくなっているので直したい。

例えば以下のように、2023年6月 のことを予定として記載している(2024年3月13日現在)。 つまりそれが書かれた後、このドキュメントが更新されていないことを示している。

Japanese English

このような状況なので日本語ドキュメントに記述されている内容が当てにならない状態であることがわかる。

環境

  • OS: macOS 13.6.4 Ventura
  • CPU: Apple Silicon (M2 Pro)
ピン留めされたアイテム
snakasnaka

日本語ドキュメントの修正箇所が多くてやってられない && 今どきDeepLやAIなどでいくらでも英文を翻訳できるので、修正することに対するモチベーションが一気に下がった。
基本的に原文(英語)を参照して、日本語ドキュメントはあてにしない方がよさそう。という結論に至った。

snakasnaka

環境

$ ruby -v
ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [arm64-darwin22]

準備: bundle install

ビルドに必要な Gem をインストールするために bundle install を実行するとエラーになった。

Installing rugged 1.0.1 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/snaka/.asdf/installs/ruby/2.7.6/lib/ruby/gems/2.7.0/gems/rugged-1.0.1/ext/rugged
/Users/snaka/.asdf/installs/ruby/2.7.6/bin/ruby -I /Users/snaka/.asdf/installs/ruby/2.7.6/lib/ruby/2.7.0 -r ./siteconf20240313-56193-6pquvb.rb extconf.rb
checking for gmake... no
checking for make... yes
checking for cmake... no
ERROR: CMake is required to build Rugged.
*** 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
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/Users/snaka/.asdf/installs/ruby/2.7.6/bin/$(RUBY_BASE_NAME)
        --with-sha1dc
        --without-sha1dc
        --use-system-libraries

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Users/snaka/.asdf/installs/ruby/2.7.6/lib/ruby/gems/2.7.0/extensions/arm64-darwin-22/2.7.0/rugged-1.0.1/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/snaka/.asdf/installs/ruby/2.7.6/lib/ruby/gems/2.7.0/gems/rugged-1.0.1 for inspection.
Results logged to /Users/snaka/.asdf/installs/ruby/2.7.6/lib/ruby/gems/2.7.0/extensions/arm64-darwin-22/2.7.0/rugged-1.0.1/gem_make.out

An error occurred while installing rugged (1.0.1), and Bundler cannot continue.
Make sure that `gem install rugged -v '1.0.1' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  pronto was resolved to 0.11.0, which depends on
    rugged
snakasnaka

CMake が無いと言っているのでインストールする

brew install cmake

https://ja.wikipedia.org/wiki/CMake

CMake はビルド自動化のためのソフトウェアで、実際のビルド時には make などネイティブなビルド環境が利用されるらしい。

snakasnaka

CMake インストール後に bundle install したら以下のエラーに変わった

ERROR: pkg-config is required to build Rugged.
snakasnaka

ローカルでドキュメントを確認する

以下を実行して dev サーバを立ち上げ、ドキュメントを確認してみる。

yarn jekyll-dev

なにやらビルド(?)が走って以下が表示される

processing data for: sidenav
processing data for: sitemap
                    done in 18.34 seconds.
 Auto-regeneration: enabled for 'jekyll'
    Server address: http://0.0.0.0:4000/docs/
  Server running... press ctrl-c to stop.
snakasnaka

Docker で立ち上げてみる

Dockerfile, docker-compoe.yml があることに気づいたの Docker を使ってローカル環境を立ち上げてみる。

docker compose up

以下のエラーが出た

 => ERROR [jekyll 5/6] RUN gem install bundler && bundle install                                                                 26.5s 
------                                                                                                                                 
 > [jekyll 5/6] RUN gem install bundler && bundle install:                                                                             
26.22 ERROR:  Error installing bundler:                                                                                                
26.22   The last version of bundler (>= 0) to support your Ruby & RubyGems was 2.4.22. Try installing it with `gem install bundler -v 2.4.22`
26.22   bundler requires Ruby version >= 3.0.0. The current ruby version is 2.7.6.219.
------
failed to solve: process "/bin/sh -c gem install bundler && bundle install" did not complete successfully: exit code: 1

gem install bundler でインストールされるバージョンが、想定よりも新しいため動かないらしい。

snakasnaka

エラーメッセージを参考に Dockerfile を修正してみる

--- a/Dockerfile
+++ b/Dockerfile
@@ -3,7 +3,7 @@ FROM ruby:2.7.6
 RUN apt update -y
 RUN apt-get install -y cmake pkg-config
 COPY Gemfile Gemfile.lock ./
-RUN gem install bundler && bundle install
+RUN gem install bundler -v 2.4.22 && bundle install
 RUN bundle exec jekyll clean
snakasnaka

これで Docker で立ち上げることできたけど、見え方は一緒だった。 ( Style Sheet あたっていない )

snakasnaka
snakasnaka

jekyll/_cci2_ja/getting-started.adoc をプレビューしてみる。

snakasnaka

後半部分は jeykill 特有のテンプレートだろうか?