diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..ff42352f --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,8 @@ +## Describe your changes + +## Issue ticket number and link + +## Checklist before requesting a review +- [ ] I have performed a self-review of my code +- [ ] I am able to build images locally +- [ ] Has the issue it resolves been discussed with maintainers? diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 37754a53..ea30d5a8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,29 +29,29 @@ jobs: VALIDATE_DOCKERFILE_HADOLINT: true VALIDATE_YAML: true - build_python_kernel: - permissions: - id-token: write - contents: read - packages: write - actions: write - uses: ./.github/workflows/reusable-docker-build.yml - strategy: - matrix: - # Must be a supported version by jupyter/datascience-notebook - # https://hub.docker.com/r/jupyter/datascience-notebook/tags?page=1&name=python- - version: [ "3.9.13", "3.8.13" ] - secrets: inherit - with: - dockerfile: ./kernels/python/Dockerfile - context: ./kernels/python - images: | - ghcr.io/${{ github.repository }}/python - tags: | - type=ref,event=branch,prefix=${{ matrix.version }} - type=ref,event=pr,prefix=${{ matrix.version }} - type=sha,format=long,prefix=${{ matrix.version }} - type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }},prefix=${{ matrix.version }} - build_args: | - PYTHON_VERSION=${{ matrix.version }} - platforms: "linux/amd64" +# build_python_kernel: +# permissions: +# id-token: write +# contents: read +# packages: write +# actions: write +# uses: ./.github/workflows/reusable-docker-build.yml +# strategy: +# matrix: +# # Must be a supported version by jupyter/datascience-notebook +# # https://hub.docker.com/r/jupyter/datascience-notebook/tags?page=1&name=python- +# version: [ "3.9.13", "3.8.13" ] +# secrets: inherit +# with: +# dockerfile: ./kernels/python/Dockerfile +# context: ./kernels/python +# images: | +# ghcr.io/${{ github.repository }}/python +# tags: | +# type=ref,event=branch,prefix=${{ matrix.version }} +# type=ref,event=pr,prefix=${{ matrix.version }} +# type=sha,format=long,prefix=${{ matrix.version }} +# type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }},prefix=${{ matrix.version }} +# build_args: | +# PYTHON_VERSION=${{ matrix.version }} +# platforms: "linux/amd64" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..8b8cd9f2 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Code of Conduct + +### Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +### Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +### Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +### Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +### Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at security@noteable.io. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +### Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..5876d9dc --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,66 @@ +# Contributing Guide + +* [New Contributor Guide](#contributing-guide) + * [Ways to Contribute](#ways-to-contribute) + * [Ask for Help](#ask-for-help) + * [Development Environment Setup](#development-environment-setup) + * [Sign Your Commits](#sign-your-commits) + * [Pull Request Checklist](#pull-request-checklist) + +Welcome! We are glad that you want to contribute to our kernels + +As you get started, you are in the best position to give us feedback on areas of +our project that we need help with including: + +* Problems found during setting up a new developer environment +* Gaps in our Getting started Guide or documentation +* Bugs in our automation scripts + +If anything doesn't make sense, or doesn't work when you run it, please open a +bug report and let us know! + +## Ways to Contribute + +We welcome many different types of contributions including: + +* New features +* Builds, CI/CD +* Bug fixes +* Documentation + +## Pull Request Lifecycle + +## Development Environment Setup + +To begin contributing changes to notebook kernels, you'll need to setup your local environment + +### Requirements +- `python`: Version depending on which kernels being built +- `docker`: For building and testing images + +### Setup +```shell +git clone git@github.com:noteable-io/kernels +cd kernels/$kernel/ +# Make proposed edits as needed +docker buildx bake +``` + +## Sign Your Commits + +All commits to this repository must be signed by the author. Please review https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits +for information on configuring your machine to do so. + +## Pull Request Checklist + +When you submit your pull request, or you push new commits to it, our automated +systems will run some checks on your new code. We require that your pull request +passes these checks, but we also have more criteria than just that before we can +accept and merge it. We recommend that you check the following things locally +before you submit your code: + +- [ ] I have performed a self-review of my code +- [ ] I am able to build images locally +- [ ] Has the issue it resolves been discussed with maintainers? + +**Note**: This checklist is also part of the pull request template for this project \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..c37488ae --- /dev/null +++ b/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2023, Noteable +All rights reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/README.md b/README.md index 5a37a49f..57e932a6 100644 --- a/README.md +++ b/README.md @@ -1 +1,17 @@ -# kernels \ No newline at end of file +# Noteable Kernels + +[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) + +This project contains the configuration and build pipelines for kernels on the Noteable platform. + +## Documentation +TBD + +## Community +TBD + +## Contributing +Contributions are welcomed and appreciated! See [Contributing](CONTRIBUTING.md) for our guidelines + +### Getting Started +TBD