Laminar のバージョンを 1.2 に上げた
https://ci.tojo.tokyo の Laminar のバージョンはいままで 1.1 だったが、 このバージョンの Laminar にはジョブの中でジョブを実行したときに、 出力中のサブジョブへのリンクがクォートされてしまってクリックできないというバグを含んでいた。 これは Link to queued jobs is double escaped · Issue #161 · ohwgiles/laminar で解決され、 バージョン 1.2 の Laminar CI には反映されているようだった。
丁度サブジョブを使いたくて困ったので、この機会にバージョン 1.2 に上げることにした。
現在 Laminar は Guix System の Services を使って動かしていて、
ここで利用している Laminar パッケージのバージョンが 1.1 なのが問題になっている。
GNU Guix の公式リポジトリの Laminar パッケージの最新はまだ 1.1 なので、
guix pull
で更新してもバージョン 1.2 の Laminar は使えない。
なので、自分の Guix チャンネル にバージョン 1.2 の Laminar を登録して使うことにした。
パッケージ定義は元の laminar
パッケージを継承して、
バージョン周りの部分を更新するだけでうまく動いた。
(define-module (tojo-tokyo packages ci) #:use-module (gnu packages ci) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix utils)) (define-public laminar-next (package (inherit laminar) (name "laminar-next") (version "1.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/ohwgiles/laminar/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0vcgpp8g67mlhqnyhkihxz9j5jz1pal79jrdhnmjl5ddbhkvji8i")))) (arguments (substitute-keyword-arguments (package-arguments laminar) ((#:configure-flags flags #~'()) #~(map (lambda (x) (cond ((string-prefix? "-DLAMINAR_VERSION=" x) (string-append "-DLAMINAR_VERSION=" #$version)) (else x))) #$flags))))))
Guix System の config.scm
で下記のように laminar-next
を使うように指定したところ問題なく動作した。
(service laminar-service-type
(laminar-configuration
(laminar laminar-next)
(title "CI for git.tojo.tokyo")))
結果、過去のジョブも含めてサブジョブへのリンクを踏んで遷移できるようになった。
下記のジョブの出力中の #521
をクリックするとサブジョブに遷移できる。