Skip to content

Add regression tests for CJK characters#471

Merged
danwkennedy merged 5 commits intomainfrom
danwkennedy/cjk-characters
Mar 11, 2026
Merged

Add regression tests for CJK characters#471
danwkennedy merged 5 commits intomainfrom
danwkennedy/cjk-characters

Conversation

@danwkennedy
Copy link
Copy Markdown
Contributor

@danwkennedy danwkennedy commented Mar 10, 2026

Description

CJK (Chinese/Japanese/Korean) characters can cause failures during download. The latest version of @actions/artifact supports handling them so this PR bumps that dependency and adds a regression test.

@danwkennedy danwkennedy requested a review from a team as a code owner March 10, 2026 19:40
Copilot AI review requested due to automatic review settings March 10, 2026 19:40
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a CI regression test to ensure artifact upload/download works correctly when artifact names, download paths, and filenames include CJK (Chinese/Japanese/Korean) characters—guarding against prior encoding-related 400 errors from Azure Blob Storage.

Changes:

  • Creates several small test files whose filenames include CJK characters.
  • Uploads each file as its own artifact with a CJK artifact name.
  • Downloads each artifact and verifies the expected files and contents are present.
Comments suppressed due to low confidence (5)

.github/workflows/test.yml:180

  • archive: false is not a recognized input for actions/upload-artifact (at least for the supported @v4 used elsewhere in this repo). Remove it, or if the intent is to minimize compression overhead, use the action’s supported inputs (e.g. compression-level).
        name: CJK-土-${{ matrix.runs-on }}
        path: path/to/cjk-artifacts/file-土.txt
        archive: false

.github/workflows/test.yml:194

  • archive: false is not a recognized input for actions/upload-artifact (at least for the supported @v4 used elsewhere in this repo). Remove it, or if the intent is to minimize compression overhead, use the action’s supported inputs (e.g. compression-level).
        name: CJK-テスト-${{ matrix.runs-on }}
        path: path/to/cjk-artifacts/file-テスト.txt
        archive: false

.github/workflows/test.yml:208

  • archive: false is not a recognized input for actions/upload-artifact (at least for the supported @v4 used elsewhere in this repo). Remove it, or if the intent is to minimize compression overhead, use the action’s supported inputs (e.g. compression-level).
        name: CJK-테스트-${{ matrix.runs-on }}
        path: path/to/cjk-artifacts/file-테스트.txt
        archive: false

.github/workflows/test.yml:187

  • archive: false is not a recognized input for actions/upload-artifact (at least for the supported @v4 used elsewhere in this repo). Remove it, or if the intent is to minimize compression overhead, use the action’s supported inputs (e.g. compression-level).
        name: CJK-中文测试-${{ matrix.runs-on }}
        path: path/to/cjk-artifacts/file-中文测试.txt
        archive: false

.github/workflows/test.yml:201

  • archive: false is not a recognized input for actions/upload-artifact (at least for the supported @v4 used elsewhere in this repo). Remove it, or if the intent is to minimize compression overhead, use the action’s supported inputs (e.g. compression-level).
        name: CJK-東京タワー-${{ matrix.runs-on }}
        path: path/to/cjk-artifacts/file-東京タワー.txt
        archive: false

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +180 to +215
archive: false

- name: Upload CJK artifact - Chinese 中文测试
uses: actions/upload-artifact@v7
with:
name: CJK-中文测试-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-中文测试.txt
archive: false

- name: Upload CJK artifact - Japanese テスト
uses: actions/upload-artifact@v7
with:
name: CJK-テスト-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-テスト.txt
archive: false

- name: Upload CJK artifact - Japanese 東京タワー
uses: actions/upload-artifact@v7
with:
name: CJK-東京タワー-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-東京タワー.txt
archive: false

- name: Upload CJK artifact - Korean 테스트
uses: actions/upload-artifact@v7
with:
name: CJK-테스트-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-테스트.txt
archive: false

- name: Upload CJK artifact - Korean 서울시
uses: actions/upload-artifact@v7
with:
name: CJK-서울시-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-서울시.txt
archive: false
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

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

archive: false is not a recognized input for actions/upload-artifact (at least for the supported @v4 used elsewhere in this repo). Remove it, or if the intent is to minimize compression overhead, use the action’s supported inputs (e.g. compression-level).

This issue also appears in the following locations of the same file:

  • line 178
  • line 192
  • line 206
  • line 185
  • line 199
Suggested change
archive: false
- name: Upload CJK artifact - Chinese 中文测试
uses: actions/upload-artifact@v7
with:
name: CJK-中文测试-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-中文测试.txt
archive: false
- name: Upload CJK artifact - Japanese テスト
uses: actions/upload-artifact@v7
with:
name: CJK-テスト-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-テスト.txt
archive: false
- name: Upload CJK artifact - Japanese 東京タワー
uses: actions/upload-artifact@v7
with:
name: CJK-東京タワー-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-東京タワー.txt
archive: false
- name: Upload CJK artifact - Korean 테스트
uses: actions/upload-artifact@v7
with:
name: CJK-테스트-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-테스트.txt
archive: false
- name: Upload CJK artifact - Korean 서울시
uses: actions/upload-artifact@v7
with:
name: CJK-서울시-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-서울시.txt
archive: false
compression-level: 0
- name: Upload CJK artifact - Chinese 中文测试
uses: actions/upload-artifact@v7
with:
name: CJK-中文测试-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-中文测试.txt
compression-level: 0
- name: Upload CJK artifact - Japanese テスト
uses: actions/upload-artifact@v7
with:
name: CJK-テスト-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-テスト.txt
compression-level: 0
- name: Upload CJK artifact - Japanese 東京タワー
uses: actions/upload-artifact@v7
with:
name: CJK-東京タワー-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-東京タワー.txt
compression-level: 0
- name: Upload CJK artifact - Korean 테스트
uses: actions/upload-artifact@v7
with:
name: CJK-테스트-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-테스트.txt
compression-level: 0
- name: Upload CJK artifact - Korean 서울시
uses: actions/upload-artifact@v7
with:
name: CJK-서울시-${{ matrix.runs-on }}
path: path/to/cjk-artifacts/file-서울시.txt
compression-level: 0

Copilot uses AI. Check for mistakes.
shell: bash
run: |
mkdir -p path/to/cjk-artifacts
# Chinese - 土 (U+571F) known to fail, 日 (U+65E5) known to work
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

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

The comment mentions testing 日 (U+65E5) as a known-working CJK character, but the workflow doesn’t actually create/upload/download any artifact or file containing 日. Either add a 日 case to the regression tests or remove the mention to avoid misleading documentation.

Suggested change
# Chinese - 土 (U+571F) known to fail, 日 (U+65E5) known to work
# Chinese - 土 (U+571F) known to fail in past regression

Copilot uses AI. Check for mistakes.
@danwkennedy danwkennedy force-pushed the danwkennedy/cjk-characters branch from e4f816e to e944264 Compare March 11, 2026 15:00
@danwkennedy danwkennedy merged commit 3e5f45b into main Mar 11, 2026
11 checks passed
@danwkennedy danwkennedy deleted the danwkennedy/cjk-characters branch March 11, 2026 15:35
mergify Bot added a commit to ArcadeData/arcadedb that referenced this pull request Mar 13, 2026
Bumps the github-actions group with 2 updates: [anthropics/claude-code-action](https://github.com/anthropics/claude-code-action) and [actions/download-artifact](https://github.com/actions/download-artifact).
Updates `anthropics/claude-code-action` from 1.0.70 to 1.0.71
Release notes

*Sourced from [anthropics/claude-code-action's releases](https://github.com/anthropics/claude-code-action/releases).*

> v1.0.71
> -------
>
> What's Changed
> --------------
>
> * docs: warn that allowed\_bots can expose the action to external triggers by [`@​an-dustin`](https://github.com/an-dustin) in [anthropics/claude-code-action#1039](https://redirect.github.com/anthropics/claude-code-action/pull/1039)
> * feat(inline-comment): add confirmed param + probe-pattern safety net by [`@​km-anthropic`](https://github.com/km-anthropic) in [anthropics/claude-code-action#1048](https://redirect.github.com/anthropics/claude-code-action/pull/1048)
>
> New Contributors
> ----------------
>
> * [`@​an-dustin`](https://github.com/an-dustin) made their first contribution in [anthropics/claude-code-action#1039](https://redirect.github.com/anthropics/claude-code-action/pull/1039)
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.71>


Commits

* [`5d0cc74`](anthropics/claude-code-action@5d0cc74) feat(inline-comment): add confirmed param + probe-pattern safety net ([#1048](https://redirect.github.com/anthropics/claude-code-action/issues/1048))
* [`567be3d`](anthropics/claude-code-action@567be3d) chore: bump Claude Code to 2.1.73 and Agent SDK to 0.2.73
* [`eb99fb3`](anthropics/claude-code-action@eb99fb3) chore: bump Claude Code to 2.1.72 and Agent SDK to 0.2.72
* [`33fbb80`](anthropics/claude-code-action@33fbb80) docs: warn that allowed\_bots can expose the action to external triggers ([#1039](https://redirect.github.com/anthropics/claude-code-action/issues/1039))
* [`3428ca8`](anthropics/claude-code-action@3428ca8) chore: bump Claude Code to 2.1.71 and Agent SDK to 0.2.71
* See full diff in [compare view](anthropics/claude-code-action@26ec041...5d0cc74)
  
Updates `actions/download-artifact` from 8.0.0 to 8.0.1
Release notes

*Sourced from [actions/download-artifact's releases](https://github.com/actions/download-artifact/releases).*

> v8.0.1
> ------
>
> What's Changed
> --------------
>
> * Support for CJK characters in the artifact name by [`@​danwkennedy`](https://github.com/danwkennedy) in [actions/download-artifact#471](https://redirect.github.com/actions/download-artifact/pull/471)
> * Add a regression test for artifact name + content-type mismatches by [`@​danwkennedy`](https://github.com/danwkennedy) in [actions/download-artifact#472](https://redirect.github.com/actions/download-artifact/pull/472)
>
> **Full Changelog**: <actions/download-artifact@v8...v8.0.1>


Commits

* [`3e5f45b`](actions/download-artifact@3e5f45b) Add regression tests for CJK characters ([#471](https://redirect.github.com/actions/download-artifact/issues/471))
* [`e6d03f6`](actions/download-artifact@e6d03f6) Add a regression test for artifact name + content-type mismatches ([#472](https://redirect.github.com/actions/download-artifact/issues/472))
* See full diff in [compare view](actions/download-artifact@70fc10c...3e5f45b)
  
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
  
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot show  ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore  major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore  minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore  ` will remove the ignore condition of the specified dependency and ignore conditions
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