Skip to content

Commit d20dd3c

Browse files
aitapMichaelChirico
authored andcommitted
GHA: add locale-specific checks
1 parent d63559f commit d20dd3c

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

.github/workflows/R-CMD-check.yaml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,54 @@ jobs:
7171
- uses: yihui/actions/check-r-package@HEAD
7272
with:
7373
check-args: "--no-manual --as-cran"
74+
75+
R-CMD-check-locale:
76+
runs-on: ${{ matrix.os }}
77+
78+
name: ${{ matrix.os }}, R-${{ matrix.r }}, LC_CTYPE=${{ matrix.locale }}
79+
80+
strategy:
81+
fail-fast: true
82+
matrix:
83+
os: [ubuntu-22.04]
84+
r: ['release']
85+
locale: ['fr_CA.ISO-8859-1', 'zh_CN.GB18030', 'ru_RU.KOI8-R']
86+
87+
env:
88+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
89+
_R_CHECK_RD_CHECKRD_MINLEVEL_: -Inf
90+
_R_CHECK_RD_CONTENTS_VALUE_: 1
91+
92+
steps:
93+
- uses: actions/checkout@v6
94+
95+
- uses: r-lib/actions/setup-r@v2
96+
with:
97+
r-version: ${{ matrix.r }}
98+
99+
- name: Configure locale
100+
run: |
101+
echo ${{ matrix.locale }} `echo ${{ matrix.locale }} | sed 's/.*\.//'` | sudo tee -a /etc/locale.gen
102+
sudo locale-gen --keep-existing
103+
104+
- uses: yihui/actions/setup-r-dependencies@HEAD
105+
106+
- name: Override R for locale-specific check
107+
run: |
108+
sudo mkdir -p /override
109+
# poor man's luit that doesn't require a tty
110+
sudo tee /override/R <<EOF # no quotes => expand backticks, dollars
111+
#!/bin/bash
112+
set -o pipefail
113+
exec stdbuf -o L -e L `which R` "\$@" 2>&1 | while read line; do
114+
echo "\$line" | iconv -t UTF-8
115+
done
116+
EOF
117+
sudo chmod +x /override/R
118+
echo PATH=/override:$PATH >> $GITHUB_ENV
119+
120+
- uses: yihui/actions/check-r-package@HEAD
121+
with:
122+
check-args: "--no-manual"
123+
env:
124+
LC_CTYPE: ${{ matrix.locale }}

0 commit comments

Comments
 (0)