# 65th Workflow Meetup (2023-06-07 Wed) ================================ [20230607 · workflow\-meetup\-jp/workflow\-meetup Wiki](https://github.com/workflow-meetup-jp/workflow-meetup/wiki/20230607) 2023-06-07(Wed) 13:00 - 19:00 まで。 完全リモートのため、全世界どこからでも参加可能。 # 事前計画 ## 全体 ## 石井 - 次回7月5日水曜日 - 7/5(Wed) - 8/2(Wed) - 9/6(Wed) - 10/4(Wed)(Togoの日前日) - 11/1(Wed)(BH Euro中) - 12/6(Wed) - 1/10(Wed)(2週目) - 2/7(Wed) - 3/6(Wed) - 2023年度は、月の第一週の水曜日13時スタートの方向。ただし、月曜日など他の日になるかもしれないです。 - たいてい第1木曜日は、pitagora meetup ありとおもわれる # こうなりました ## 全体 ## 石井 大田さんの話と関連している。 - [ubuntu\-22\.04 が GA ⚠破壊的変更注意⚠ \[GitHub Actions\]](https://zenn.dev/snowcait/articles/73e42154ed4654) - 20.04は、22.04がでた段階では、安定しているのだろうけど、初期の段階ではどんなだったかはわからない - github actionsに対するCIをしたくなる - 22.04の変更前と変更後をイメージのhashなどで指定できるとよいのだろうけど、それもできるのかはわからない。 上の記事より引用 >ワークフローで使用している場合は setup-* 系のアクションを利用してインストールすることになるでしょう。 - https://github.com/manabuishii/yevis-getting-started/blame/main/.github/workflows/yevis-test-pr.yml#L56-L57 broadinstitute/cromwell:80には、docker ``` docker run --rm -ti --entrypoint="" broadinstitute/cromwell:80 /bin/bash root@36f5fae90ae5:/# which docker root@36f5fae90ae5:/# ``` cromwell:80内のjava ``` root@36f5fae90ae5:/# ldd which java linux-vdso.so.1 (0x00007fff9e169000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff8fcafd000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff8fcada000) libjli.so => /opt/java/openjdk/bin/../lib/jli/libjli.so (0x00007ff8fc8c9000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff8fc8c3000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff8fc6d1000) /lib64/ld-linux-x86-64.so.2 (0x00007ff8fcd21000) root@36f5fae90ae5:/#docker run --rm -ti --entrypoint="" broadinstitute/cromwell:80 /bin/bash root@36f5fae90ae5:/# which docker root@36f5fae90ae5:/# root@36f5fae90ae5:/# ldd which java linux-vdso.so.1 (0x00007fff9e169000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff8fcafd000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff8fcada000) libjli.so => /opt/java/openjdk/bin/../lib/jli/libjli.so (0x00007ff8fc8c9000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff8fc8c3000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff8fc6d1000) /lib64/ld-linux-x86-64.so.2 (0x00007ff8fcd21000) root@36f5fae90ae5:/# ``` cromwell:80内のglibcは、見た目的には、glibc 2.31っぽい ``` root@36f5fae90ae5:/# ls -l /lib/x86_64-linux-gnu/libc.so.6 lrwxrwxrwx 1 root root 12 Apr 7 2022 /lib/x86_64-linux-gnu/libc.so.6 -> libc-2.31.so ``` 石井の予想は、cromwell:80の中のjavaを起動しようとしてエラーがでているのではないかとおもっているが、確認できていない。 再現するとしたら、 - ubuntu:22.04上にyevisをdocker-composeで実行して、sapporo-serviceを起動し、その中でjavaを起動する。 - もしくは、javaまで起動できていて、ワークフロー内に記述されているdockerコンテナを起動するときかもしれない。 - ただ、cromwellの実行ができているとすると、javaまでは起動できているのかもしれない。cromwellが出力するログがあるところをみると、javaは起動できている可能性が高い? - wdlのhello worldを ## 丹生 - [`File[][]` を含む CWL が valid にならない件](https://www.biostars.org/p/379639/) - 素朴に考えると動くべき - 仕様上は現状 valid (再帰的に展開しろ、という仕様はない) - CWL v1.3 に [issue 登録した](https://github.com/common-workflow-language/cwl-v1.3/issues/10) - codegen にも変更が必要なため、v1.2 系に入れるには破壊的すぎる ## 大田 ![](https://hackmd.io/_uploads/HJ1Xu5TU2.png) - DDBJ Workflow Registry (yevis-repo) で workflow testing が死んだり通ったりする問題を解決する - GitHub actions の github hosted runner が再現性ガン無視野郎だった - https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources - `latest` をそもそも使うなという話であり `20.04` のタグをつけていたとしても `20,04` イメージがそもそも static ではないという地獄 - https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2204-Readme.md - なんでだよ - https://github.com/search?q=repo%3Aactions%2Frunner-images%20docker&type=code - https://github.com/actions/runner-images/blob/main/images/linux/scripts/installers/docker-moby.sh - `apt-get install moby-engine` みたいな雑な入れ方してるので docker 側の変更があった可能性はありそう。 エラーはこれ ``` docker: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by docker) docker: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by docker) ``` 当時の状況 - Cromwell は GLIBC_2.31 を要求していて、Cromwell コンテナにも 2.31 が入っている - Cromwell コンテナに docker bin を差して実行すると docker が 2.32/2.34 を要求する ### Docker (moby-engine/moby-cli) をどこからインストールしているのか? - `apt-get install -y moby-engine moby-cli` - https://github.com/actions/runner-images/blob/main/images/linux/scripts/installers/docker-moby.sh - そんなものは ubuntu にはない - `wget https://packages.microsoft.com/config/ubuntu/$LSB_RELEASE/packages-microsoft-prod.deb` - https://github.com/actions/runner-images/blob/dfdd2daf84e33e18c114a9986bab5418c381664a/images/linux/scripts/base/repos.sh#L9 - MS の repo を取り込んでいるっぽい - これを取り込むと moby-engine インスコできた ``` $ docker -v Docker version 20.10.25+azure-1, build b82b9f3a0e763304a250531cb9350aa6d93723c9 ``` Azure用の docker っぽい、、こいつが変更されたから挙動が変わったのでは(ということにしてここらで諦めたい) # 前回のミートアップから今回のミートアップまでにSlackなどにあったリンクメモ - ここから書く