Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(ci): fix tests on CI #1452

Merged
merged 8 commits into from
Nov 1, 2024
Merged

fix(ci): fix tests on CI #1452

merged 8 commits into from
Nov 1, 2024

Conversation

xnv
Copy link
Member

@xnv xnv commented Nov 1, 2024

Github Actions で test.yml がエラーになっている問題を修正します。

  • NX 由来のトラブルを回避
  • init のテンプレート更新の追従漏れ修正
  • rollup のネイティブ依存を除去
  • サブディレクトリの package-lock.json を削除

package-lock については、(公式の文書に言及が見られないのですが) workspaces を使う時点で全てルートの package-lock.json に集約されるものかと思います。恐らく初期にサブディレクトリ側で (= -w なしで) npm i してしまった影響でしょうか。トラブルの元に思えるので、今回の問題とは直接関係なさそうですが削除しておきます。

@@ -30,3 +30,5 @@ jobs:
run: |
npm ci
npm test
env:
NX_DISABLE_DB: true
Copy link
Member Author

@xnv xnv Nov 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/akashic-games/akashic-cli/actions/runs/11395792247/job/31708603920#step:4:35 の回避。

NX (0 , native_1.connectToNxDb) is not a function

一時ディレクトリの書き込み権限の問題……という指摘もありますが、Github Actions での対処方法がよく分からず、安直に nrwl/nx#28205 のワークアラウンドを採用しています。

).toBe(true);
expect(err.message).match(
/^Failed to get resource\. url: https:\/\/akashic-games\.github\.io\/notfound\. status code:.*/
);
Copy link
Member Author

@xnv xnv Nov 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

別件。この件の作業中、サーバ側の問題か何かで一時的に失敗していた (?) のですが、 startsWith() だとテスト結果が true/false でしか分からないので、もう少し observable にしておきます。

"@types/mime": "4.0.0",
"vite": {
"rollup": "npm:@rollup/wasm-node"
}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/akashic-games/akashic-cli/actions/runs/11611264798/job/32332228260#step:4:73 の回避。

Error: Cannot find module @rollup/rollup-linux-x64-gnu. npm has a bug related to optional dependencies (npm/cli#4828). Please try npm i again after removing both package-lock.json and node_modules directory.

vitejs/vite#15532 (comment) を参考に。

エラーメッセージ自体は package-lock を削除しろと述べていますが、指示に従っても解消しない模様。同じような状況で 個別のプラットフォーム用のバイナリを明示的に optionalDependencies に入れる というアプローチもあるようですが、Github Actions の設定依存の話がここに現れるのもいまいちに思えます。処理速度的にややマイナスかもしれませんが、プラットフォーム非依存な wasm 版を使わせて回避するアプローチを取っています。

@@ -123,7 +123,7 @@ try {
assertContains(files, "package.json");
assertContains(files, "README.md");
assertContains(files, "sandbox.config.js");
assertContains(files, ".eslintrc.js");
assertContains(files, "eslint.config.js");
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/akashic-contents/templates/ 側の更新に追従。

外部リポジトリの変更の影響がここに出るのも微妙ではありますが、どこかしたらで E2E 的な確認は行なっておきたく、止むを得まいと思っています。

@xnv xnv merged commit 244ba4a into export-use-terser Nov 1, 2024
9 checks passed
@xnv xnv deleted the fix-ci branch November 1, 2024 10:47
@xnv xnv mentioned this pull request Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants