Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add simple tasks and config files #1

Merged
merged 33 commits into from
Dec 12, 2023
Merged

Conversation

k4black
Copy link
Contributor

@k4black k4black commented Oct 28, 2023

Description

The new structure for the course repository under consideration.

  1. Task detection by .task.yml file
  2. Extended and unified checker config and deadlines file
  3. pipeline for build and testing stage in the yaml config file
  4. .folder_name for special folders

Motivation and Context

The old structure is outdated, a lot of small deprecated things, some issues not solvable with it, so new.
Please see the main project for the plan.

Related to

Contribution Checklist

General

  • I have read and agreed on the CONTRIBUTING and CODE OF CONDUCT documents.
  • I have run linters, type checks, import sorting and tests locally.
  • I have added comments to code in hard-to-understand areas.
  • Pull Request title uses conventional commits format: tag(scope): description.

Added tests?

  • yes
  • partially, will add more later
  • no, because I need help
  • no, because they aren't needed

Added to documentation?

  • README.md
  • docs/
  • manytask.github.io page
  • no documentation needed

What gif best describes this PR or how it makes you feel?

@k4black k4black self-assigned this Oct 28, 2023
@k4black k4black marked this pull request as draft October 28, 2023 22:03
@k4black k4black changed the title Draft: feat: add simple tasks and config files feat: add simple tasks and config files Oct 28, 2023
@k4black k4black requested a review from kalabukdima October 28, 2023 22:03
@k4black k4black added the enhancement New feature or request label Oct 28, 2023
@k4black k4black marked this pull request as ready for review October 30, 2023 20:05
@k4black k4black force-pushed the new-project-structure branch from f1f68a1 to 88422ae Compare November 1, 2023 19:07
.checker.yml Outdated
Comment on lines 7 to 9
private_patterns: ["**/.*", "**/test_private.py"]
# public patterns to export
public_patterns: ["tools", "pyproject.toml", ".gitignore", "**/test_public.py", "**/conftest.py"]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not clear what happens to files matching both (or none) patterns. Maybe we should use some regex supporting negative lookahead and merge it into a single list?

.checker.yml Outdated Show resolved Hide resolved
.checker.yml Outdated Show resolved Hide resolved
script: "python -m mypy --config-file=${{ REPO_DIR }}/pyproject.toml ${{ TASK_DIR }}"

- name: "Collect tests"
run_if: ${{ run_testing }}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe those should be nested in some object, like {{ task.run_testing }}?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems it is more complicated to do - you need an real objects there e.g. jinja2

script: "python -m pytest --tb=no -qq --collect-only ${{ TASK_DIR }}"
timeout: ${{ timeout }}

- name: "Run tests"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the grading one possible solution would be to assign a weight for each step in the pipeline and use the weighted sum of passed steps as the score. That way you can customize what is making up the score but it still doesn't solve the case with multiple grade types.

@k4black k4black merged commit 3b06cfd into main Dec 12, 2023
1 check passed
@k4black k4black deleted the new-project-structure branch December 12, 2023 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants