-
Notifications
You must be signed in to change notification settings - Fork 2
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
[FEATURE] Integration tests using macos action runners #39
Labels
Comments
teald
added
enhancement
New feature or request
CI/CD
Changes to CI/CD workflows
test
Related to testing
labels
Jul 31, 2024
Merged
teald
added a commit
that referenced
this issue
Aug 1, 2024
Squashing 68 commits that update the testing setup to use nox. See PR #35 for more information. The commit messages for the squashed commits are listed below (in case they're useful): * Update outdated docstring * Add file range expansion to testing module * Add download_multiple files and tests * Initial integration testing commit Includes updates to astrodata/testing.py as well which enable multiple files to be downloaded asynchronously using threads or processes. Ideally, that would eventually just be async, but invoking an executor is easier and gets the job done. Integration testing is planning to use: + The tutorials + Unit tests + Longer Tests if possible with github actions (need their own testing). * Adding nox testing file. * Adding noxfile and dependency. * Updates to testing, add niri test * Make stdout optional for downloads * Update tests * Add to niri tests, update test config * Use Path objects in noxfile * Update lock file * Linting noxfile * Move unit tests to unit test folder. * Update unit test selection It's more obvious to use the directory tree for separating classes of tests than using marks (now that there are also integration tests). * Explicitly ignore return results for session runs. * Adjust for updates to test directory structure * Add ruff config to pyproject.toml Start of the process of migrating these settings from pre-commit/workflows into the pyproject.toml file. * Add __init__.py, calibration tests * test(dragons): 🛠 Fix calibration service issue in fixture. * test(dragons): 🧪 Add NIRI and GMOS tests, now working. * fix: 👷 Fix post-rebase syntax issue in testing.yml * ci: 💚 Allow for manual runs. * fix: 🐛 Add missing python versions. * ci(dragons): 🧪 add DRAGONS tests to workflow. * fix(dragons): 🐛 Ignore dragons tests when running on windows. * fix(dragons): 🐛 Include conda in workflows. * test(dragons): 🧪 Add DRAGONS dev version tests This adds a new testing session in nox that pulls the main DRAGONS branch and tests on it explicitly, rather than only testing on the release. This will be important for migrating changes to astrodata over from DRAGONS. Currently fails to run. * test(commnent): spelling * ci(dragons): 🛠️ Add homebrew for sextractor. * ci(dragons): 🛠️ Remove redundant calibration test call. * ci(dragons): 🧪 Add DRAGONS dev tests. * test(dragons): 🐛 Update development tests to use conda for sextractor. * test(dragons): 🐛 Update tests to install the appropriate miniconda. * ci(dragons): 🐛 Fix syntax issues in yaml file, use curl for macos. * ci(dragons): 🐛 Uncomment os's in matrix. * fix(dragons): 🧹 remove brew command. * fix(dragons): 🐛 Initialize conda shell. * ci(dragons): 🛠🛠️ upgrade * ci(dragons): 🧹 Tidy dragons dev install sequence * ci: 🎨 Split out integration tests into their own workflow "testing" workflow was becoming unwieldy. * ci: 🐛 Fix issue with git+ installs This was caused by a conflict when installing both python and conda in the same action (probably some library thing). * ci: 🐛 Use more recent version of `setup-miniconda` (v2->v3) * ci: 🐛 Remove windows from DRAGONS integration test runs * ci: 🎨 Rename testing.yml workflow This may break badges when it is published. * ci: 🎨 Move dev tests to their own step * test: 🎨 Consolidate conda installs * test: 🔊 Increase test verbosity * test: 🔊 Autouse proper log handling for DRAGONS Otherwise, stdout gets double messaging (known issue in DRAGONS). * ci: 💚 Catch bad OS Names for DRAGONS runs * ci: ✅ Add back in OS's for unit testing * ci: 🎨 Rename `testing.yml` -> `unit_tests.yml` * ci: 🧪 Omit dragons dev branch tests These tests now function as expected; they will be implemented for the next release. * ci: 🔧 Update the global conda config in the `osx` runners. * fix: 🐛 Fix issue with config command/subdir permanency * test: ✅ Add configuration step for macos testing. This is needed because the env settings to not always propogate down to the conda environemnts generated by `nox`. * test: ✨ Generalize test dependency installation function to accept package list. * test: 🧑💻 Remove the `dragons/astrodata` dir directly prior to build This is a quick implementation for the future---this will ensure that any relative imports are still caught when testing astrodata on the development version of DRAGONS. It does *not* solve this problem for the release version, but that's less of an issue for now. * ci: 🚧 Try updating session venv params passed to conda. * ci: 🚧 Reorganize actions * ci: 🚧 Verbose output for nox during github actions. * Revert "ci: 🚧 Try updating session venv params passed to conda." This reverts commit 434bcf7. * ci: 🚧 Rearrange subdir invocation. * Revert "Revert "ci: 🚧 Try updating session venv params passed to conda."" This reverts commit 3ff7a21. * ci: 🚧 Remove configuration step entirely. * ci(dragons): Add nox install step. * ci(dragons): 🚧 Add poetry install to workflow * ci(dragons): 👷 Remove macos worker request This is now covered in Issue #39.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Summary
The GitHub Actions use an incompatible architecture for DRAGONS (arm64). While this is something that can be worked with, it is not as straightforward using actions.
This is not an especially urgent update to make to the current workflows, and is blocking other progress. The code is already has unit and integration test coverage for arm64 and x86_64 locally, which is fine in the near-term. So I'm leaving this for later.
However, this is important enough (e.g., for scheduled tests) that it merits an issue.
The text was updated successfully, but these errors were encountered: