Files
edx-platform/.github/workflows/lint-imports.yml
Feanil Patel 872174e28d build: Switch to ubuntu-latest for builds
This code does not have any dependencies that are specific to any specific
version of ubuntu.  So instead of testing on a specific version and then needing
to do work to keep the versions up-to-date, we switch to the ubuntu-latest
target which should be sufficient for testing purposes.

This work is being done as a part of https://github.com/openedx/platform-roadmap/issues/377

closes https://github.com/openedx/edx-platform/issues/35314
2024-09-23 10:00:14 -04:00

52 lines
1.4 KiB
YAML

name: Lint Python Imports
on:
pull_request:
push:
branches:
- master
jobs:
lint-imports:
name: Lint Python Imports
runs-on: ubuntu-latest
steps:
- name: Check out branch
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install system requirements
run: sudo apt update && sudo apt install -y libxmlsec1-dev
- name: Install pip
run: python -m pip install -r requirements/pip.txt
- name: Get pip cache dir
id: pip-cache-dir
run: echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
- name: Cache pip dependencies
id: cache-dependencies
uses: actions/cache@v4
with:
path: ${{ steps.pip-cache-dir.outputs.dir }}
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/edx/development.txt') }}
restore-keys: ${{ runner.os }}-pip-
- name: Install python dependencies
run: pip install -r requirements/edx/development.txt
# As long there are sub-projects[1] in edx-platform, we analyze each
# project separately here, in order to make import-linting errors easier
# to pinpoint.
#
# [1] https://openedx.atlassian.net/browse/BOM-2579
- name: Analyze imports (repo root)
run: make lint-imports