Merge remote-tracking branch 'origin/master' into nightly
This commit is contained in:
commit
cdd3f5e499
22
.github/workflows/test.yml
vendored
Normal file
22
.github/workflows/test.yml
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
name: Run tests
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Upgrade pip
|
||||
run: python -m pip install --upgrade pip setuptools
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install 'tutor[dev]>=16.0.0,<17.0.0'
|
||||
- name: Test lint, types, and format
|
||||
run: make test
|
||||
34
Makefile
Normal file
34
Makefile
Normal file
@ -0,0 +1,34 @@
|
||||
.DEFAULT_GOAL := help
|
||||
.PHONY: docs
|
||||
SRC_DIRS = ./tutorandroid
|
||||
BLACK_OPTS = --exclude templates ${SRC_DIRS}
|
||||
|
||||
# Warning: These checks are not necessarily run on every PR.
|
||||
test: test-lint test-types test-format # Run some static checks.
|
||||
|
||||
test-format: ## Run code formatting tests
|
||||
black --check --diff $(BLACK_OPTS)
|
||||
|
||||
test-lint: ## Run code linting tests
|
||||
pylint --errors-only --enable=unused-import,unused-argument --ignore=templates --ignore=docs/_ext ${SRC_DIRS}
|
||||
|
||||
test-types: ## Run type checks.
|
||||
mypy --exclude=templates --ignore-missing-imports --implicit-reexport --strict ${SRC_DIRS}
|
||||
|
||||
format: ## Format code automatically
|
||||
black $(BLACK_OPTS)
|
||||
|
||||
isort: ## Sort imports. This target is not mandatory because the output may be incompatible with black formatting. Provided for convenience purposes.
|
||||
isort --skip=templates ${SRC_DIRS}
|
||||
|
||||
changelog-entry: ## Create a new changelog entry.
|
||||
scriv create
|
||||
|
||||
changelog: ## Collect changelog entries in the CHANGELOG.md file.
|
||||
scriv collect
|
||||
|
||||
ESCAPE =
|
||||
help: ## Print this help
|
||||
@grep -E '^([a-zA-Z_-]+:.*?## .*|######* .+)$$' Makefile \
|
||||
| sed 's/######* \(.*\)/@ $(ESCAPE)[1;31m\1$(ESCAPE)[0m/g' | tr '@' '\n' \
|
||||
| awk 'BEGIN {FS = ":.*?## "}; {printf "\033[33m%-30s\033[0m %s\n", $$1, $$2}'
|
||||
1
changelog.d/20231118_183802_codewithemad.md
Normal file
1
changelog.d/20231118_183802_codewithemad.md
Normal file
@ -0,0 +1 @@
|
||||
- [Improvement] Added Typing to code, Makefile and test action to the repository and formatted code with Black and isort. (by @CodeWithEmad)
|
||||
@ -1,2 +1 @@
|
||||
__version__ = "16.0.0"
|
||||
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from glob import glob
|
||||
import os
|
||||
import typing as t
|
||||
from glob import glob
|
||||
|
||||
import pkg_resources
|
||||
|
||||
from tutor import hooks as tutor_hooks
|
||||
from tutor.__about__ import __version_suffix__
|
||||
from tutor.types import Config, get_typed
|
||||
|
||||
from .__about__ import __version__
|
||||
|
||||
@ -15,8 +15,8 @@ from .__about__ import __version__
|
||||
if __version_suffix__:
|
||||
__version__ += "-" + __version_suffix__
|
||||
|
||||
config = {
|
||||
"unique": {"OAUTH2_SECRET": "{{ 24|random_string }}"},
|
||||
|
||||
config: t.Dict[str, t.Dict[str, t.Any]] = {
|
||||
"defaults": {
|
||||
"VERSION": __version__,
|
||||
"APP_HOST": "mobile.{{ LMS_HOST }}",
|
||||
@ -30,6 +30,9 @@ config = {
|
||||
"RELEASE_KEY_PASSWORD": "android release key password",
|
||||
"RELEASE_KEY_ALIAS": "android release key alias",
|
||||
},
|
||||
"unique": {
|
||||
"OAUTH2_SECRET": "{{ 24|random_string }}",
|
||||
},
|
||||
}
|
||||
|
||||
with open(
|
||||
@ -68,7 +71,9 @@ tutor_hooks.Filters.IMAGES_BUILD.add_items(
|
||||
|
||||
@tutor_hooks.Filters.IMAGES_PULL.add()
|
||||
@tutor_hooks.Filters.IMAGES_PUSH.add()
|
||||
def _add_remote_android_app_image_iff_customized(images, user_config):
|
||||
def _add_remote_android_app_image_iff_customized(
|
||||
images: list[tuple[str, str]], user_config: Config
|
||||
) -> list[tuple[str, str]]:
|
||||
"""
|
||||
Register ANDROID-APP image for pushing & pulling if and only if it has
|
||||
been set to something other than the default.
|
||||
@ -80,7 +85,7 @@ def _add_remote_android_app_image_iff_customized(images, user_config):
|
||||
to push/pull the ANDROID-APP image if the user has customized it to anything
|
||||
other than the default image URL.
|
||||
"""
|
||||
image_tag = user_config["ANDROID_APP_DOCKER_IMAGE"]
|
||||
image_tag = get_typed(user_config, "ANDROID_APP_DOCKER_IMAGE", str, "")
|
||||
if not image_tag.startswith("docker.io/overhangio/openedx-android-app:"):
|
||||
# Image has been customized. Add to list for pulling/pushing.
|
||||
images.append(("android-app", image_tag))
|
||||
@ -128,7 +133,6 @@ def _print_android_app_public_hosts(
|
||||
return hostnames
|
||||
|
||||
|
||||
####### Boilerplate code
|
||||
# Add the "templates" folder as a template root
|
||||
tutor_hooks.Filters.ENV_TEMPLATE_ROOTS.add_item(
|
||||
pkg_resources.resource_filename("tutorandroid", "templates")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user