fix: python separate datatypes #39
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Lint if snapshots change | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- "**" | |
paths: | |
- ".github/workflows/lint.yaml" | |
- "test/aidbox_sdk/snapshots/**" | |
- "resources/sdk/**" | |
pull_request: | |
branches-ignore: | |
- "**" | |
jobs: | |
detect-changes: | |
runs-on: ubuntu-latest | |
outputs: | |
typescript-changed: ${{ steps.detect-changes.outputs.typescript-changed }} | |
python-changed: ${{ steps.detect-changes.outputs.python-changed }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Detect file changes | |
id: detect-changes | |
run: | | |
# Fetch all changes between commits | |
git fetch --prune --unshallow || true | |
CHANGED_FILES=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }}) | |
echo "Changed files: $CHANGED_FILES" | |
# Check if TypeScript or Python files have changed | |
if echo "$CHANGED_FILES" | grep -qE '^test/aidbox_sdk/snapshots/typescript/|^resources/sdk/typescript/'; then | |
echo "typescript-changed=true" >> $GITHUB_OUTPUT | |
fi | |
if echo "$CHANGED_FILES" | grep -qE '^test/aidbox_sdk/snapshots/python/|^resources/sdk/python/'; then | |
echo "python-changed=true" >> $GITHUB_OUTPUT | |
fi | |
lint-typescript: | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.typescript-changed }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Merge TypeScript SDK files | |
run: | | |
cp -r -u resources/sdk/typescript/* test/aidbox_sdk/snapshots/typescript/ | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: "npm" | |
cache-dependency-path: test/aidbox_sdk/snapshots/typescript/package-lock.json | |
- name: Install system and client dependencies | |
run: | | |
sudo apt -y update | |
cd test/aidbox_sdk/snapshots/typescript && npm ci | |
- name: Run ESLint | |
run: cd test/aidbox_sdk/snapshots/typescript && npm run lint | |
lint-python: | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.python-changed }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Merge Python SDK files | |
run: | | |
cp -r -u resources/sdk/python/* test/aidbox_sdk/snapshots/python/ | |
- name: Clear pip cache | |
run: rm -rf $HOME/.cache/pip | |
- name: Setup python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.x | |
- name: Install system | |
run: | | |
sudo apt -y update | |
python -m pip install --upgrade pip | |
- name: Install python dependencies | |
run: | | |
cd test/aidbox_sdk/snapshots/python && pip install --prefer-binary './[dev]' | |
- name: Run python lint | |
run: cd test/aidbox_sdk/snapshots/python && pylint **/*.py |