oracle / oracle/macaron

Default output dir for integration tests causes issues with pre-commit checks

Open
#173 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

tests
Dominant language
Python
Stars
210
Forks
36
Avg merge
1d 10h
Merged PRs (30d)
2

Description

The default output directory for integration tests is output/ directory, which can cause issues when these tests are run locally.

As part of integration tests we clone Git repository under output/. Now if we run make check without removing output/, pre-commit picks up files in these cloned repositories (even though output is part of Macaron's .gitignore) based on their individual .gitignore files.

I can think of two solutions:

  1. Use a path outside the current workspace for integration test output directory, but picking a path that would also work on GitHub Actions Runner might not be straightforward.
  2. Clean up and remove the integration tests output directory after tests finish (which will make tests slower as we won't cache the cloned repositories anymore).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with scripts/dev_scripts/integration_tests.sh, especially the default output/ path, then inspect .gitignore behavior and the make check pre-commit flow. Compare the two proposed approaches against local runs and GitHub Actions; done means integration-test clones no longer cause unrelated files to be checked by make check.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, shell
Domain
ci-cd, developer-experience, testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.