Skip to content

Commit 90d3c70

Browse files
committed
fix: support modern kaggle auth in workflows
1 parent 967bb75 commit 90d3c70

2 files changed

Lines changed: 33 additions & 6 deletions

File tree

.github/workflows/debug-kaggle.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,15 @@ jobs:
2020

2121
- name: Test secret lengths
2222
env:
23+
KAGGLE_API_TOKEN: ${{ secrets.KAGGLE_API_TOKEN }}
2324
KAGGLE_USERNAME: ${{ secrets.KAGGLE_USERNAME }}
2425
KAGGLE_KEY: ${{ secrets.KAGGLE_KEY }}
2526
run: |
27+
echo "KAGGLE_API_TOKEN length: ${#KAGGLE_API_TOKEN}"
2628
echo "KAGGLE_USERNAME length: ${#KAGGLE_USERNAME}"
2729
echo "KAGGLE_KEY length: ${#KAGGLE_KEY}"
30+
echo "KAGGLE_API_TOKEN first 8 chars: ${KAGGLE_API_TOKEN:0:8}"
31+
echo "KAGGLE_API_TOKEN last 8 chars: ${KAGGLE_API_TOKEN: -8}"
2832
echo "KAGGLE_USERNAME first 5 chars: ${KAGGLE_USERNAME:0:5}"
2933
echo "KAGGLE_KEY first 10 chars: ${KAGGLE_KEY:0:10}"
3034
echo "KAGGLE_KEY last 10 chars: ${KAGGLE_KEY: -10}"
@@ -34,17 +38,28 @@ jobs:
3438

3539
- name: Test Kaggle auth with credentials
3640
env:
41+
KAGGLE_API_TOKEN: ${{ secrets.KAGGLE_API_TOKEN }}
3742
KAGGLE_USERNAME: ${{ secrets.KAGGLE_USERNAME }}
3843
KAGGLE_KEY: ${{ secrets.KAGGLE_KEY }}
3944
run: |
4045
mkdir -p ~/.kaggle
41-
cat > ~/.kaggle/kaggle.json <<EOF
46+
if [ -n "${KAGGLE_API_TOKEN}" ]; then
47+
printf '%s' "${KAGGLE_API_TOKEN}" > ~/.kaggle/access_token
48+
chmod 600 ~/.kaggle/access_token
49+
echo "Using ~/.kaggle/access_token"
50+
elif [ -n "${KAGGLE_USERNAME}" ] && [ -n "${KAGGLE_KEY}" ]; then
51+
cat > ~/.kaggle/kaggle.json <<EOF
4252
{"username":"${KAGGLE_USERNAME}","key":"${KAGGLE_KEY}"}
4353
EOF
44-
chmod 600 ~/.kaggle/kaggle.json
45-
cat ~/.kaggle/kaggle.json
54+
chmod 600 ~/.kaggle/kaggle.json
55+
echo "Using ~/.kaggle/kaggle.json"
56+
else
57+
echo "No Kaggle credentials available in secrets"
58+
exit 1
59+
fi
4660
echo "---"
47-
kaggle auth status
61+
kaggle auth print-access-token > /dev/null
62+
echo "Auth token exchange succeeded"
4863
4964
- name: List kernels
5065
run: kaggle kernels list --user mylastresort

.github/workflows/kaggle-kernels.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,26 @@ jobs:
2323

2424
- name: Configure Kaggle credentials
2525
env:
26+
KAGGLE_API_TOKEN: ${{ secrets.KAGGLE_API_TOKEN }}
2627
KAGGLE_USERNAME: ${{ secrets.KAGGLE_USERNAME }}
2728
KAGGLE_KEY: ${{ secrets.KAGGLE_KEY }}
2829
run: |
2930
mkdir -p ~/.kaggle
30-
cat > ~/.kaggle/kaggle.json <<EOF
31+
if [ -n "${KAGGLE_API_TOKEN}" ]; then
32+
printf '%s' "${KAGGLE_API_TOKEN}" > ~/.kaggle/access_token
33+
chmod 600 ~/.kaggle/access_token
34+
elif [ -n "${KAGGLE_USERNAME}" ] && [ -n "${KAGGLE_KEY}" ]; then
35+
cat > ~/.kaggle/kaggle.json <<EOF
3136
{"username":"${KAGGLE_USERNAME}","key":"${KAGGLE_KEY}"}
3237
EOF
33-
chmod 600 ~/.kaggle/kaggle.json
38+
chmod 600 ~/.kaggle/kaggle.json
39+
else
40+
echo "No Kaggle credentials found. Set KAGGLE_API_TOKEN or KAGGLE_USERNAME/KAGGLE_KEY secrets."
41+
exit 1
42+
fi
43+
44+
- name: Verify Kaggle authentication
45+
run: kaggle auth print-access-token > /dev/null
3446

3547
- name: Push notebooks to Kaggle
3648
run: |

0 commit comments

Comments
 (0)