Revert examples (#110) #1
Workflow file for this run
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 | |
on: | |
pull_request: | |
paths: | |
- '!frontend/**' | |
push: | |
paths: | |
- '!frontend/**' | |
workflow_call: | |
inputs: | |
working-directory: | |
required: true | |
type: string | |
description: "From which folder this pipeline executes" | |
env: | |
POETRY_VERSION: "1.7.1" | |
WORKDIR: ${{ inputs.working-directory == '' && '.' || inputs.working-directory }} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
# This number is set "by eye": we want it to be big enough | |
# so that it's bigger than the number of commits in any reasonable PR, | |
# and also as small as possible since increasing the number makes | |
# the initial `git fetch` slower. | |
FETCH_DEPTH: 50 | |
strategy: | |
matrix: | |
# Only lint on the min and max supported Python versions. | |
# It's extremely unlikely that there's a lint issue on any version in between | |
# that doesn't show up on the min or max versions. | |
# | |
# GitHub rate-limits how many jobs can be running at any one time. | |
# Starting new jobs is also relatively slow, | |
# so linting on fewer versions makes CI faster. | |
python-version: | |
- "3.8" | |
- "3.11" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} + Poetry ${{ env.POETRY_VERSION }} | |
uses: "./.github/actions/poetry_setup" | |
with: | |
python-version: ${{ matrix.python-version }} | |
poetry-version: ${{ env.POETRY_VERSION }} | |
working-directory: ${{ inputs.working-directory }} | |
cache-key: lint-with-extras | |
- name: Check Poetry File | |
shell: bash | |
working-directory: ${{ inputs.working-directory }} | |
run: | | |
poetry check | |
- name: Check lock file | |
shell: bash | |
working-directory: ${{ inputs.working-directory }} | |
run: | | |
poetry lock --check | |
- name: Install dependencies | |
# Also installs dev/lint/test/typing dependencies, to ensure we have | |
# type hints for as many of our libraries as possible. | |
# This helps catch errors that require dependencies to be spotted, for example: | |
# https://github.com/langchain-ai/langchain/pull/10249/files#diff-935185cd488d015f026dcd9e19616ff62863e8cde8c0bee70318d3ccbca98341 | |
# | |
# If you change this configuration, make sure to change the `cache-key` | |
# in the `poetry_setup` action above to stop using the old cache. | |
# It doesn't matter how you change it, any change will cause a cache-bust. | |
working-directory: ${{ inputs.working-directory }} | |
run: | | |
poetry install --with dev,lint,test,typing | |
- name: Get .mypy_cache to speed up mypy | |
uses: actions/cache@v3 | |
env: | |
SEGMENT_DOWNLOAD_TIMEOUT_MIN: "2" | |
with: | |
path: | | |
${{ env.WORKDIR }}/.mypy_cache | |
key: mypy-${{ runner.os }}-${{ runner.arch }}-py${{ matrix.python-version }}-${{ inputs.working-directory }}-${{ hashFiles(format('{0}/poetry.lock', env.WORKDIR)) }} | |
- name: Analysing the code with our lint | |
working-directory: ${{ inputs.working-directory }} | |
run: | | |
make lint |