Skip to content

Commit

Permalink
feat: Initial Commit !!!
Browse files Browse the repository at this point in the history
  • Loading branch information
u625355 committed Sep 6, 2024
0 parents commit a0ea813
Show file tree
Hide file tree
Showing 89 changed files with 8,316 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence they
# will be requested for review when someone opens a pull request.
* @tektronix/tekhsi-maintainers

# Protect the configuration files
.github/ @tektronix/tekhsi-admins
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
name: Bug Report
description: File a bug report here
title: '[BUG]: '
labels: [bug]
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to submit a bug report!
Please make sure there aren't any open/closed issues for this topic already.
- type: textarea
id: bug-description
attributes:
label: Description of the bug
description: Give us a brief description of what happened and what is the expected
behavior
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See error
validations:
required: true
- type: textarea
id: environment-information
attributes:
label: Environment Information
description: |
Please tell us about your environment:
- type: textarea
id: additional-information
attributes:
label: Additional Information
description: |-
Provide any additional information such as logs, screenshots, likes, scenarios in which the bug occurs so that it facilitates resolving the issue.
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Feature Request
description: Request a new feature or enhancement
labels: [enhancement]
title: '[FEAT]: '
body:
- type: markdown
attributes:
value: |
Please make sure this feature request hasn't been already submitted by someone by looking through other open/closed issues
- type: textarea
id: description
attributes:
label: Description
description: Give us a brief description of the feature or enhancement you would
like
validations:
required: true
- type: textarea
id: additional-information
attributes:
label: Additional Information
description: Give us some additional information on the feature request like
proposed solutions, links, screenshots, etc.
34 changes: 34 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
## Proposed changes

Please include a summary of the changes and any links to related issues. Please also include relevant motivation and context.

Addresses #\< fill in issue number here >

## Types of changes

What types of changes does your code introduce?
_Put an `x` in the boxes that apply_

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Functionality update (non-breaking change which updates or changes existing functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] CI/CD update (an update to the CI/CD workflows, scripts, and/or configurations)
- [ ] Documentation update (an update to enhance the user experience when reading through the docs)

## Checklist

_Put an `x` in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code._

- [ ] I have followed the guidelines in the [CONTRIBUTING](https://github.com/tektronix/TekHSI/blob/main/CONTRIBUTING.md) document
- [ ] I have signed the CLA
- [ ] I have checked to ensure there aren't other open [Pull Requests](https://github.com/tektronix/TekHSI/pulls) for the same update/change
- [ ] I have created (or updated) an [Issue](https://github.com/tektronix/TekHSI/issues) to track the status of this update/change and updated the link in this PR description (see above in the **Proposed changes** section) using the wording `Addresses #<issue_number>`
- [ ] I have performed a self-review of my code
- [ ] My code follows the style guidelines of this project
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] Basic linting passes locally with my changes
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] I have added necessary documentation (if appropriate)
- [ ] I have updated the Changelog with a brief description of my changes
2 changes: 2 additions & 0 deletions .github/auto_assign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
addAssignees: author
26 changes: 26 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
groups:
gh-actions-dependencies:
patterns: ['*']
labels: [gh-actions, dependencies]
commit-message:
prefix: gh-actions
include: scope
- package-ecosystem: pip
directory: /
schedule:
interval: weekly
versioning-strategy: increase-if-necessary
groups:
python-dependencies:
patterns: ['*']
labels: [python, dependencies]
commit-message:
prefix: python-deps
include: scope
10 changes: 10 additions & 0 deletions .github/workflows/check-api-for-breaking-changes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Check Public API for Breaking Changes
on:
pull_request:
branches: [main]
jobs:
check-api-for-breaking-changes:
uses: tektronix/python-package-ci-cd/.github/workflows/[email protected]
with:
package-name: TekHSI
19 changes: 19 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: CodeQL
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: 17 16 * * 4
jobs:
analyze:
uses: tektronix/python-package-ci-cd/.github/workflows/[email protected]
with:
languages-array: '["python", "javascript"]'
codeql-queries: security-extended,security-and-quality
permissions:
actions: read
contents: read
security-events: write
17 changes: 17 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Pull Request Dependency Review
on:
pull_request:
branches: [main]
permissions:
contents: read
pull-requests: write
jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/dependency-review-action@v4
with:
fail-on-severity: low
comment-summary-in-pr: on-failure
10 changes: 10 additions & 0 deletions .github/workflows/enforce-community-standards.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Enforce Open Source Community Standards
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
enforce-community-standards:
uses: tektronix/python-package-ci-cd/.github/workflows/[email protected]
23 changes: 23 additions & 0 deletions .github/workflows/package-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Package Build
on:
push:
branches: [main]
tags: ['*']
pull_request:
branches: [main]
# Cancel running jobs for the same workflow and branch.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
package-build:
uses: tektronix/python-package-ci-cd/.github/workflows/[email protected]
with:
package-name: TekHSI
python-versions-array: '["3.8", "3.9", "3.10", "3.11", "3.12"]' # when updating this, make sure to update all workflows that use this strategy
operating-systems-array: '["ubuntu", "windows", "macos"]'
permissions:
contents: read
id-token: write
attestations: write
38 changes: 38 additions & 0 deletions .github/workflows/package-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Publish to GitHub & PyPI
on:
workflow_dispatch:
inputs:
release-level:
type: choice
required: true
description: |
Select the release level:
patch for backward compatible minor changes and bug fixes,
minor for backward compatible larger changes,
major for non-backward compatible changes.
options: [patch, minor, major]
concurrency:
group: pypi
jobs:
package-release:
uses: tektronix/python-package-ci-cd/.github/workflows/[email protected]
with:
package-name: TekHSI
repo-name: tektronix/TekHSI
commit-user-name: ${{ vars.TEK_OPENSOURCE_NAME }}
commit-user-email: ${{ vars.TEK_OPENSOURCE_EMAIL }}
release-level: ${{ inputs.release-level }}
build-and-publish-python-package: true
python-versions-array: '["3.8", "3.9", "3.10", "3.11", "3.12"]' # when updating this, make sure to update all workflows that use this strategy
operating-systems-array: '["ubuntu", "windows", "macos"]'
previous-changelog-filepath: python_semantic_release_templates/.previous_changelog_for_template.md
previous-release-notes-filepath: python_semantic_release_templates/.previous_release_notes_for_template.md
permissions:
contents: write
id-token: write
attestations: write
secrets:
checkout-token: ${{ secrets.TEK_OPENSOURCE_TOKEN }}
ssh-signing-key-private: ${{ secrets.TEK_OPENSOURCE_SSH_SIGNING_KEY_PRIVATE }}
ssh-signing-key-public: ${{ secrets.TEK_OPENSOURCE_SSH_SIGNING_KEY_PUBLIC }}
17 changes: 17 additions & 0 deletions .github/workflows/package-testpypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Publish to TestPyPI
on:
push:
branches: [main]
concurrency:
group: pypi
jobs:
package-testpypi:
uses: tektronix/python-package-ci-cd/.github/workflows/[email protected]
with:
package-name: TekHSI
repo-name: tektronix/TekHSI
permissions:
contents: read
id-token: write
attestations: write
12 changes: 12 additions & 0 deletions .github/workflows/publish-api-comparison.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: Publish API Breaking Change Check Results
on:
workflow_run:
workflows: [Check Public API for Breaking Changes]
types: [completed]
jobs:
publish-api-comparison:
uses: tektronix/python-package-ci-cd/.github/workflows/[email protected]
permissions:
checks: write
pull-requests: write
14 changes: 14 additions & 0 deletions .github/workflows/publish-test-results.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: Publish Test Results
on:
workflow_run:
workflows: [Test code]
types: [completed]
jobs:
publish-test-results:
uses: tektronix/python-package-ci-cd/.github/workflows/[email protected]
with:
operating-systems-array: '["ubuntu", "windows", "macos"]'
permissions:
checks: write
pull-requests: write
17 changes: 17 additions & 0 deletions .github/workflows/sbom-scan.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Create & Scan SBOM
on:
push:
branches: [main]
pull_request:
branches: [main]
release:
types: [published]
jobs:
sbom-scan:
uses: tektronix/python-package-ci-cd/.github/workflows/[email protected]
permissions:
security-events: write
contents: write
id-token: write
attestations: write
20 changes: 20 additions & 0 deletions .github/workflows/test-code.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Test code
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
test-code:
uses: tektronix/python-package-ci-cd/.github/workflows/[email protected]
with:
repo-name: tektronix/TekHSI
operating-systems-array: '["ubuntu", "windows", "macos"]'
python-versions-array: '["3.8", "3.9", "3.10", "3.11", "3.12"]' # when updating this, make sure to update all workflows that use this strategy
upload-to-codecov: true
secrets:
codecov-token: ${{ secrets.CODECOV_TOKEN }}
17 changes: 17 additions & 0 deletions .github/workflows/test-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Test docs
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
test-docs:
uses: tektronix/python-package-ci-cd/.github/workflows/[email protected]
with:
node-version: 20 # The node version needs to stay in sync with .readthedocs.yml
python-version: '3.11' # This needs to stay in sync with .readthedocs.yml and the tox config in pyproject.toml
tox-env-array: '["docs"]' # TODO: add "doctests" environment
22 changes: 22 additions & 0 deletions .github/workflows/update-python-and-pre-commit-dependencies.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Update python linting dependencies in-sync with pre-commit
on:
pull_request:
branches: [main]
jobs:
update-python-and-pre-commit-dependencies:
uses: tektronix/python-package-ci-cd/.github/workflows/[email protected]
with:
commit-user-name: ${{ vars.TEK_OPENSOURCE_NAME }}
commit-user-email: ${{ vars.TEK_OPENSOURCE_EMAIL }}
dependency-dict: '{"dev": ["pylint", "pyright"]}'
update-pre-commit: true
run-pre-commit: true
pre-commit-hook-skip-list: pylint,pyright,pyright-verifytypes,pyroma,poetry-audit
export-dependency-groups: docs,tests
permissions:
contents: write
secrets:
checkout-token: ${{ secrets.TEK_OPENSOURCE_TOKEN }}
gpg-signing-key-private: ${{ secrets.TEK_OPENSOURCE_GPG_SIGNING_KEY_PRIVATE }}
gpg-signing-key-passphrase: ${{ secrets.TEK_OPENSOURCE_GPG_SIGNING_KEY_PASSPHRASE }}
Loading

0 comments on commit a0ea813

Please sign in to comment.