Skip to content

Commit

Permalink
Merge branch 'main' into chore/deprecate-abstract-data-set
Browse files Browse the repository at this point in the history
  • Loading branch information
deepyaman authored Aug 14, 2023
2 parents feef676 + 6888001 commit 4aa7de9
Show file tree
Hide file tree
Showing 160 changed files with 1,858 additions and 1,163 deletions.
12 changes: 6 additions & 6 deletions .circleci/continue_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ commands:
command: conda install -c conda-forge pytables -y
- run:
name: Install requirements and test requirements
command: pip install --upgrade -r test_requirements.txt
command: pip install --upgrade .[test]
- run:
# this is needed to fix java cacerts so
# spark can automatically download packages from mvn
Expand Down Expand Up @@ -146,7 +146,7 @@ commands:
steps:
- restore_cache:
name: Restore package cache
key: kedro-deps-v1-win-{{ checksum "dependency/requirements.txt" }}-{{ checksum "test_requirements.txt" }}
key: kedro-deps-v1-win-{{ checksum "pyproject.toml" }}-{{ checksum "setup.py" }}
# We don't restore the conda environment cache for python 3.10 as it conflicts with the
# 'Install GDAL, Fiona and pytables' step breaking the conda environment (missing zlib.dll).
- unless:
Expand All @@ -155,7 +155,7 @@ commands:
steps:
- restore_cache:
name: Restore conda environment cache
key: kedro-deps-v1-win-<<parameters.python_version>>-{{ checksum "dependency/requirements.txt" }}-{{ checksum "test_requirements.txt" }}
key: kedro-deps-v1-win-<<parameters.python_version>>-{{ checksum "pyproject.toml" }}-{{ checksum "setup.py" }}
# pytables and Fiona have a series of binary dependencies under Windows that
# are best handled by conda-installing instead of pip-installing them.
# Dependency resolution works best when installing these altogether in one
Expand All @@ -168,7 +168,7 @@ commands:
command: conda activate kedro_builder; pip debug --verbose
- run:
name: Install all requirements
command: conda activate kedro_builder; pip install -v -r test_requirements.txt -U
command: conda activate kedro_builder; pip install -v -U .[test]
- run:
name: Print Python environment
command: conda activate kedro_builder; make print-python-env
Expand Down Expand Up @@ -337,7 +337,7 @@ jobs:
steps:
- save_cache:
name: Save Python package cache
key: kedro-deps-v1-win-{{ checksum "dependency/requirements.txt" }}-{{ checksum "test_requirements.txt" }}
key: kedro-deps-v1-win-{{ checksum "pyproject.toml" }}-{{ checksum "setup.py" }}
paths:
# Cache pip cache and conda packages directories
- c:\tools\miniconda3\pkgs
Expand All @@ -350,7 +350,7 @@ jobs:
steps:
- save_cache:
name: Save conda environment cache
key: kedro-deps-v1-win-<<parameters.python_version>>-{{ checksum "dependency/requirements.txt" }}-{{ checksum "test_requirements.txt" }}
key: kedro-deps-v1-win-<<parameters.python_version>>-{{ checksum "pyproject.toml" }}-{{ checksum "setup.py" }}
paths:
- c:\tools\miniconda3\envs\kedro_builder
- run:
Expand Down
24 changes: 8 additions & 16 deletions .github/ISSUE_TEMPLATE/design-doc.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,37 +8,29 @@ assignees: ''
---

## Introduction

A high-level, short overview of the problem(s) you are designing a solution for.
<!-- A high-level, short overview of the problem(s) you are designing a solution for. -->

## Background

Provide the reader with the context surrounding the problem(s) you are trying to solve.
<!-- Provide the reader with the context surrounding the problem(s) you are trying to solve. -->

## Problem

Be as concrete as you can about:
<!-- Be as concrete as you can about: -->

### What's in scope

### What's not in scope

## Design

Explain your design to the solution here. Diagrams could help.
<!-- Explain your design to the solution here. Diagrams could help. -->

### Alternatives considered

Explain the trade off between different alternatives to your solution.
<!-- Explain the trade off between different alternatives to your solution. -->

## Testing

Explain the testing strategies to verify your design correctness (if possible).
<!-- Explain the testing strategies to verify your design correctness (if possible). -->

## Rollout strategy

Is the change backward compatible? If not, what is the migration strategy?
<!-- Is the change backward compatible? If not, what is the migration strategy? -->

## Future iterations

Will there be future iterations of this design?
<!-- Will there be future iterations of this design? -->
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ assignees: ''
---

## Description
Is your feature request related to a problem? A clear and concise description of what the problem is: "I'm always frustrated when ..."
<!-- Is your feature request related to a problem? A clear and concise description of what the problem is: "I'm always frustrated when ..." -->

## Context
Why is this change important to you? How would you use it? How can it benefit other users?
<!-- Why is this change important to you? How would you use it? How can it benefit other users? -->

## Possible Implementation
(Optional) Suggest an idea for implementing the addition or change.
<!-- (Optional) Suggest an idea for implementing the addition or change. -->

## Possible Alternatives
(Optional) Describe any alternative solutions or features you've considered.
<!-- (Optional) Describe any alternative solutions or features you've considered. -->
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
version: 2
updates:
- package-ecosystem: "pip" # See documentation for possible values
directory: "/dependency" # Location of package manifests
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
labels:
Expand Down
58 changes: 58 additions & 0 deletions .github/workflows/all-checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Run all checks on Kedro

on:
push:
branches:
- main
- develop
paths-ignore:
- "docs/**"
- '**.md'
pull_request:
branches:
- main
- develop
paths-ignore:
- "docs/**"
- '**.md'

jobs:
unit-tests:
strategy:
matrix:
os: [ ubuntu-latest, windows-latest ]
python-version: [ "3.7", "3.8", "3.9", "3.10", "3.11" ]
uses: ./.github/workflows/unit-tests.yml
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}

lint:
strategy:
matrix:
os: [ ubuntu-latest ]
python-version: [ "3.11" ]
uses: ./.github/workflows/lint.yml
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}

e2e-tests:
strategy:
matrix:
os: [ ubuntu-latest, windows-latest ]
python-version: [ "3.7", "3.8", "3.9", "3.10", "3.11" ]
uses: ./.github/workflows/e2e-tests.yml
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}

pip-compile:
strategy:
matrix:
os: [ ubuntu-latest, windows-latest ]
python-version: [ "3.7", "3.8", "3.9", "3.10", "3.11" ]
uses: ./.github/workflows/pip-compile.yml
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
28 changes: 28 additions & 0 deletions .github/workflows/docs-only-checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Run linter on Kedro Docs

on:
push:
branches:
- main
- develop
paths:
- "docs/**"
- '**.md'
pull_request:
branches:
- main
- develop
paths:
- "docs/**"
- '**.md'

jobs:
lint-tests:
strategy:
matrix:
os: [ ubuntu-latest ]
python-version: [ "3.7", "3.8", "3.9", "3.10", "3.11" ]
uses: ./.github/workflows/lint.yml
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
48 changes: 48 additions & 0 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Run e2e-tests on Kedro

on:
workflow_call:
inputs:
os:
type: string
python-version:
type: string

env:
COLUMNS: 120
LINES: 25

jobs:
e2e-tests:
runs-on: ${{ inputs.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python ${{inputs.python-version}}
uses: actions/setup-python@v3
with:
python-version: ${{inputs.python-version}}
- run: make install-pip-setuptools
- name: Cache python packages for Linux
if: inputs.os == 'ubuntu-latest'
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{inputs.os}}-python-${{inputs.python-version}}
- name: Cache python packages for Windows
if: inputs.os == 'windows-latest'
uses: actions/cache@v3
with:
path: ~\AppData\Local\pip\Cache
key: ${{inputs.os}}-python-${{inputs.python-version}}
- name: Add MSBuild to PATH
if: inputs.os == 'windows-latest'
uses: microsoft/setup-msbuild@v1
- name: Install dependencies
run: |
make install-test-requirements
make install-pre-commit
- name: pip freeze
run: pip freeze
- name: Run e2e tests
run: make e2e-tests
33 changes: 33 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Run linters on Kedro

on:
workflow_call:
inputs:
os:
type: string
python-version:
type: string

jobs:
lint:
runs-on: ${{ inputs.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ inputs.python-version }}
- name: Cache python packages
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{inputs.os}}-python-${{inputs.python-version}}
- name: Install dependencies
run: |
make install-test-requirements
make install-pre-commit
- name: pip freeze
run: pip freeze
- name: Run linter
run: make lint
27 changes: 27 additions & 0 deletions .github/workflows/merge-gatekeeper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Merge Gatekeeper

on:
pull_request:
branches:
- main
- develop

jobs:
merge-gatekeeper:
runs-on: ubuntu-latest
# Restrict permissions of the GITHUB_TOKEN.
# Docs: https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs
permissions:
checks: read
statuses: read
steps:
- name: Run Merge Gatekeeper
# NOTE: v1 is updated to reflect the latest v1.x.y. Please use any tag/branch that suits your needs:
# https://github.com/upsidr/merge-gatekeeper/tags
# https://github.com/upsidr/merge-gatekeeper/branches
uses: upsidr/merge-gatekeeper@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
timeout: 1800
interval: 30
ignored: 'ci/circleci: win_e2e_tests-3.7,ci/circleci: win_pip_compile-3.9,ci/circleci: win_e2e_tests-3.9,ci/circleci: win_pip_compile-3.8,ci/circleci: lint-3.7,ci/circleci: win_pip_compile-3.7,ci/circleci: pip_compile-3.7,ci/circleci: e2e_tests-3.7,ci/circleci: win_unit_tests-3.7,ci/circleci: win_unit_tests-3.9,ci/circleci: e2e_tests-3.8,ci/circleci: win_unit_tests-3.10,ci/circleci: win_pip_compile-3.10,ci/circleci: win_unit_tests-3.8,ci/circleci: e2e_tests-3.9,ci/circleci: unit_tests-3.10,ci/circleci: unit_tests-3.8,ci/circleci: e2e_tests-3.10,ci/circleci: lint-3.8,ci/circleci: unit_tests-3.9,ci/circleci: unit_tests-3.7,ci/circleci: win_e2e_tests-3.10,ci/circleci: pip_compile-3.8,ci/circleci: pip_compile-3.10,ci/circleci: win_e2e_tests-3.8,ci/circleci: lint-3.9,ci/circleci: pip_compile-3.9,ci/circleci: lint-3.10,build_code,ci/circleci: check-updated-files,regular'
42 changes: 42 additions & 0 deletions .github/workflows/pip-compile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Run pip-compile

on:
workflow_call:
inputs:
os:
type: string
python-version:
type: string

jobs:
pip-compile:
runs-on: ${{ inputs.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python ${{inputs.python-version}}
uses: actions/setup-python@v3
with:
python-version: ${{inputs.python-version}}
- run: make install-pip-setuptools
- name: Cache python packages for Linux
if: inputs.os == 'ubuntu-latest'
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{inputs.os}}-python-${{inputs.python-version}}
- name: Cache python packages for Windows
if: inputs.os == 'windows-latest'
uses: actions/cache@v3
with:
path: ~\AppData\Local\pip\Cache
key: ${{inputs.os}}-python-${{inputs.python-version}}
- name: Add MSBuild to PATH
if: inputs.os == 'windows-latest'
uses: microsoft/setup-msbuild@v1
- name: Install dependencies
run: |
make install-test-requirements
make install-pre-commit
- name: Run pip-compile
run: make pip-compile
Loading

0 comments on commit 4aa7de9

Please sign in to comment.