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

Implement CI/Testing Setup and Update README Requirements #9

Merged
merged 31 commits into from
Feb 28, 2024

Conversation

Vicbi
Copy link
Collaborator

@Vicbi Vicbi commented Feb 28, 2024

Implement CI/Testing Setup and Update README Requirements

♻️ Current situation & Problem

This PR aims to sign off a previous commit (7abc6a8) which was not signed at the time of submission. This is required for merging PR #8 .

⚙️ Release Notes

Signed off previous commit 7abc6a8.

📝 Code of Conduct & Contributing Guidelines

By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

Vicbi and others added 30 commits February 27, 2024 17:37
*Incorporation of the date filtering feature for the visualisation tool.

By submitting creating this pull request, you agree to follow our [Code
of
Conduct](https://github.com/StanfordSpezi/.github/blob/main/CODE_OF_CONDUCT.md)
and [Contributing
Guidelines](https://github.com/StanfordSpezi/.github/blob/main/CONTRIBUTING.md):
- [x] I agree to follow the [Code of
Conduct](https://github.com/StanfordSpezi/.github/blob/main/CODE_OF_CONDUCT.md)
and [Contributing
Guidelines](https://github.com/StanfordSpezi/.github/blob/main/CONTRIBUTING.md).
# *Add "import requests" in notebook.*

## ⚙️ Release Notes 
The **requests** module was added to the notebook. Inclusion of this
module allows for sending a GET request to import the helpers.py file
when using the "Open in colab" option.

## 📝 Code of Conduct & Contributing Guidelines 

By submitting creating this pull request, you agree to follow our [Code
of
Conduct](https://github.com/StanfordSpezi/.github/blob/main/CODE_OF_CONDUCT.md)
and [Contributing
Guidelines](https://github.com/StanfordSpezi/.github/blob/main/CONTRIBUTING.md):
- [x] I agree to follow the [Code of
Conduct](https://github.com/StanfordSpezi/.github/blob/main/CODE_OF_CONDUCT.md)
and [Contributing
Guidelines](https://github.com/StanfordSpezi/.github/blob/main/CONTRIBUTING.md).
# *Update SpeziDataPipeline.ipynb*

## ⚙️ Release Notes 
Missing comma resulted in unrecognised notebook file format.

## 📝 Code of Conduct & Contributing Guidelines 

By submitting creating this pull request, you agree to follow our [Code
of
Conduct](https://github.com/StanfordSpezi/.github/blob/main/CODE_OF_CONDUCT.md)
and [Contributing
Guidelines](https://github.com/StanfordSpezi/.github/blob/main/CONTRIBUTING.md):
- [x] I agree to follow the [Code of
Conduct](https://github.com/StanfordSpezi/.github/blob/main/CODE_OF_CONDUCT.md)
and [Contributing
Guidelines](https://github.com/StanfordSpezi/.github/blob/main/CONTRIBUTING.md).
- Badge does not link directly to the notebook
- There is no check that the code conforms to the REUSE spec and no automated setup to execute the notebook
- No initial CI setup

* Renamed the setup to Spezi Data Pipeline Template (same as for our other projects); the eventual tool will be named Spezi Data Pipeline once we have defined a good public API
* Updated the Codepilot badge to open the notebook without even having to select something.

* Added GitHub Actions to test the REUSE Spec conformance & ensure that we properly license everything. 
* Added a test that checks that links in the markdown are all correct and don’t return a 404.

* Added a setup that boots up the Firebase Emulator to do testing and run the notebook in the CI without accessing a production Firebase project. It allows us to export and import a set of mock data for testing purposes, which would be great to e.g., test the notebook in the CI: https://firebase.google.com/docs/emulator-suite/connect_firestore#import_and_export_data. See #5 for more detail.

By submitting creating this pull request, you agree to follow our [Code of Conduct](https://github.com/StanfordSpezi/.github/blob/main/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/StanfordSpezi/.github/blob/main/CONTRIBUTING.md):
- [x] I agree to follow the [Code of Conduct](https://github.com/StanfordSpezi/.github/blob/main/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/StanfordSpezi/.github/blob/main/CONTRIBUTING.md).
Copy link
Member

@PSchmiedmayer PSchmiedmayer left a comment

Choose a reason for hiding this comment

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

Thank you for improving the testing setup; great job!

README.md Outdated Show resolved Hide resolved
Remove duplicate from License and Copyright and fix code blocks appearance
@PSchmiedmayer PSchmiedmayer changed the title Sign off previous commit 7abc6a8 Implement CI/Testing Setup and Update README Requirements Feb 28, 2024
@Vicbi
Copy link
Collaborator Author

Vicbi commented Feb 28, 2024

Implement CI/Testing Setup and Update README Requirements

♻️ Current Situation & Problem

This PR addresses two open issues:

Issue #5 : Lack of CI and testing setup leading to build-breaking changes.
Issue #6 : Discrepancies between GitHub Actions requirements and README documentation.

This PR aims to enhance our project's development workflow by introducing a CI/Testing setup. Additionally, it updates the README to reflect new requirements for contributions. A crucial aspect of this PR is to address a specific concern from a previous phase of our project - a commit (7abc6a8) that was submitted without a signature, which is now required for merging PR #8.

⚙️ Release Notes

  • Introduced a CI/testing setup using GitHub Actions, Firebase Emulator, and nbconvert for executing notebooks within CI, ensuring full integration tests without accessing production Firebase projects.

  • Updated README to include all necessary installation requirements matching the GitHub Actions setup.

  • Signed off previous commit 7abc6a8.

Examples:

  • For setting up the Firebase Emulator and executing notebooks in CI:
firebase emulators:exec --import=./sample_data "jupyter nbconvert --to pdf --execute SpeziDataPipelineTemplate.ipynb"
  • For including missing dependencies:
pip install pandas numpy matplotlib firebase-admin requests ipywidgets pytz

📚 Documentation

  • Enhanced in-line documentation within the GitHub Actions workflow files to explain the purpose and function of each step in the CI process.

  • Added instructions in the README to guide through the installation of project dependencies including requests, ipywidgets, and pytz, mirroring the setup in Google Colab.

📝 Code of Conduct & Contributing Guidelines

By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

I agree to follow the Code of Conduct and Contributing Guidelines.

@Vicbi Vicbi merged commit cec504a into main Feb 28, 2024
3 checks passed
@Vicbi Vicbi deleted the signOffOldComment branch February 28, 2024 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants