Skip to content

fix: support modern kaggle auth in workflows #4

fix: support modern kaggle auth in workflows

fix: support modern kaggle auth in workflows #4

Workflow file for this run

name: Push Kaggle Kernels
on:
push:
branches:
- main
- dev
jobs:
push-kernels:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install Kaggle CLI
run: pip install kaggle
- name: Configure Kaggle credentials
env:
KAGGLE_API_TOKEN: ${{ secrets.KAGGLE_API_TOKEN }}
KAGGLE_USERNAME: ${{ secrets.KAGGLE_USERNAME }}
KAGGLE_KEY: ${{ secrets.KAGGLE_KEY }}
run: |
mkdir -p ~/.kaggle
if [ -n "${KAGGLE_API_TOKEN}" ]; then
printf '%s' "${KAGGLE_API_TOKEN}" > ~/.kaggle/access_token
chmod 600 ~/.kaggle/access_token
elif [ -n "${KAGGLE_USERNAME}" ] && [ -n "${KAGGLE_KEY}" ]; then
cat > ~/.kaggle/kaggle.json <<EOF
{"username":"${KAGGLE_USERNAME}","key":"${KAGGLE_KEY}"}
EOF
chmod 600 ~/.kaggle/kaggle.json
else
echo "No Kaggle credentials found. Set KAGGLE_API_TOKEN or KAGGLE_USERNAME/KAGGLE_KEY secrets."
exit 1
fi
- name: Verify Kaggle authentication
run: kaggle auth print-access-token > /dev/null
- name: Push notebooks to Kaggle
run: |
set -e
for metadata in *.kernel-metadata.json; do
cp "$metadata" kernel-metadata.json
echo "Pushing kernel using $metadata"
kaggle kernels push -p .
done
rm -f kernel-metadata.json