fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! chore:… #26
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/**" | |
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 | |
# env: | |
# CHANGED: ${{ needs.detect-changes.outputs.typescript-changed }} | |
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 == 'true' }} | |
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: install rust | |
run: | | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
. "$HOME/.cargo/env" | |
- name: Install build dependencies | |
run: sudo apt-get install -y build-essential | |
- name: Setup python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.x | |
- name: Install system and client dependencies | |
run: | | |
sudo apt -y update | |
python -m pip install --upgrade pip | |
export RUST_BACKTRACE=1 | |
cd test/aidbox_sdk/snapshots/python && pip install './[dev]' | |
- name: Run python lint | |
run: cd test/aidbox_sdk/snapshots/python && pylint **/*.py |