Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
f7b2490
feat(python pkg)!:Initial python package files
Sep 21, 2024
2e78d1c
feat(wiki)!: base set of wikipage
Sep 21, 2024
3189f66
feat(docker)!: updated dockerfile and publish workflow
Sep 22, 2024
ddaf61e
feat(Py_package)!:updated py package
Sep 22, 2024
86dde25
feat(jsr)!: updated package jsr
Sep 22, 2024
1646492
feat(Js_package):updated js packages
Sep 23, 2024
7db10ff
refactor(semver): updated sem ver
Sep 23, 2024
591c263
fix(version): beta-0 version update
Sep 23, 2024
bc79a4f
fix(version):updated beta version publish
Sep 23, 2024
58bb708
fix(config path): updated config files
Sep 23, 2024
b2a937c
fix(utility): config utility
Sep 23, 2024
e456a51
fix(path): prod utility path
Sep 23, 2024
353b36e
docs(comments): updated comments
Sep 23, 2024
607ff96
fix(test): updated test files
Sep 23, 2024
0d600a2
fix(jsr): exporting function
Sep 25, 2024
8b69040
fix(jsr): updated path
Sep 25, 2024
cdf5de3
docs(cli):updated cli help summary
Sep 27, 2024
59725f9
Dev/js (#4)
Vigneshkna Sep 27, 2024
e4e1f93
Fix code scanning alert no. 1: Clear-text logging of sensitive inform…
Vigneshkna Sep 27, 2024
10ccc16
Fix code scanning alert no. 1: Clear-text logging of sensitive inform…
Vigneshkna Sep 27, 2024
995dec0
docs(cli):updated js cli help
Sep 27, 2024
c299897
doc(JSdoc): updated module comments
Sep 27, 2024
7ac8e07
fix(__dir):fixing to abosolute path
Sep 27, 2024
f75f3c3
docs(readme):updated python readme
Sep 28, 2024
15465df
chore(js): js package updates
Sep 28, 2024
4fd6872
chore(version): updated versions
Sep 29, 2024
f23dc0a
feat(react):base setup ready
manimarans Sep 29, 2024
c558afa
chore(version):updatd version
Sep 29, 2024
43e8a05
Merge branch 'develop/package' of https://github.com/Blackplums/how2v…
manimarans Sep 29, 2024
014795b
chore(webpack):added webpack modules
Sep 29, 2024
5e61f73
chore(cli):updated working cli changes
Sep 30, 2024
d77bc1e
chore(api):updated api services to js packages
Oct 1, 2024
367d795
chore(doc):updated comments
Oct 1, 2024
22afc8c
docs(wiki):updaetd wiki page draft
Oct 1, 2024
09c9d5b
docs(lint):updetd lints
Oct 1, 2024
8cccb6b
chore(build):wiki build
Oct 1, 2024
446d958
chore(export):config updated
Oct 1, 2024
ebb760b
chore(wiki): updeted wiki build
Oct 1, 2024
5aca534
chore(config): updated config.ini
Oct 2, 2024
35b0c9b
chore(api):config Check
Oct 2, 2024
ef8e0b7
chore(path):config path updated
Oct 2, 2024
5c4599e
chore(file):list file api
Oct 2, 2024
c275f86
chore(pkg update): updated package
Oct 2, 2024
846afc4
chore(docs):updated document and ui
Oct 3, 2024
fd93bcf
docs(readme.md):updated md file
Oct 4, 2024
009b34f
chore(wiki): updated social preview images
Oct 4, 2024
eafc03f
chore(wiki):updated opengraph
Oct 4, 2024
52c56cb
chore(wiki):updating wiki dependencies
Oct 4, 2024
7647864
chore(wiki):updated config export
Oct 4, 2024
1c431fb
chore(wiki):updated export path
Oct 4, 2024
2dff63b
chore(api):updated api
Oct 4, 2024
ebaff7c
feat(report): updated email reporting
Vigneshkna Oct 9, 2024
fdce8c6
Readme content added
manimarans Oct 12, 2024
b01f144
Merge branch 'develop/package' of https://github.com/Blackplums/how2v…
manimarans Oct 12, 2024
6d10402
chore(cli):help updated
Vigneshkna Oct 14, 2024
9c8b65f
chore(wiki):updatde unused imports
Vigneshkna Oct 14, 2024
86c70c8
chore(python): CLI fixes and optimisation
Vigneshkna Oct 20, 2024
61b805c
chore(py cli): updated and fixed python cli
Vigneshkna Oct 21, 2024
3d5ddd5
chore(cli json): updated json response
Vigneshkna Oct 21, 2024
ef150e6
chore(readme): updated documents for python,js and main readme
Vigneshkna Oct 22, 2024
433f94d
feat(wiki):Updated wiki doc draft
Vigneshkna Oct 27, 2024
907b022
fix(security):doc dependency fixes
Vigneshkna Oct 27, 2024
f6172aa
chore(comments):removed comments
Vigneshkna Oct 27, 2024
ce8c6b1
feat(Adafruit): Adafruit IO Key added
Vigneshkna Nov 11, 2024
e455c2b
feat(Aiven): Aiven Auth token added
Vigneshkna Nov 18, 2024
343edc8
feat(Anthropic): Anthropic Api Key added
Vigneshkna Nov 18, 2024
c077e4d
feat(Hugging Face): Hf Org Api Key and User Access Token added
Vigneshkna Nov 19, 2024
db7f941
feat(PagerDuty): Pagerduty Api Key added
Vigneshkna Nov 19, 2024
268c702
feat(Sentry): Sentry Auth Token added
Vigneshkna Nov 19, 2024
be505cb
feat(Github): Github Personal Access Token added
Vigneshkna Nov 19, 2024
d79735b
chore(publish): version updates
Vigneshkna Nov 19, 2024
34376cf
feat(OpenAI): Openai Api Key added
Vigneshkna Nov 20, 2024
cb4bb78
chore(OpenAI): updated auth url
Vigneshkna Nov 20, 2024
7e1e6cc
feat(Slack): Slack Api Token added
Vigneshkna Nov 20, 2024
0610abb
docs(wiki):Updated directory name to docs
Vigneshkna Nov 29, 2024
1ae1965
chore(codeowners):Updated admin team
Vigneshkna Nov 29, 2024
7cfb72f
chore(codeowner):updated docs folder
Vigneshkna Nov 29, 2024
5d3381d
npm audit fix
manimarans Jan 2, 2025
287b0df
npm audit fix - doc
manimarans Jan 2, 2025
eb0ddca
feat(secrettype):discordbottoken
Vigneshkna Jan 2, 2025
c790cc4
chore(testcase):updated testcase template
Vigneshkna Apr 23, 2025
2281749
fix(dependency):fixing dependency issue
Vigneshkna Apr 23, 2025
edfc3fb
chore(deps): bump next from 13.3.2-canary.13 to 14.2.26 in /docs
dependabot[bot] Apr 23, 2025
8bdfaa5
chore(deps): bump next from 13.3.2-canary.13 to 14.2.26 in /docs (#7)
Vigneshkna Apr 23, 2025
2c4ac16
fix(docker): docker build and push
Vigneshkna Apr 23, 2025
2a3e8bd
feat(test):added testcasec for python
Vigneshkna Apr 24, 2025
7d1d54e
chore(report):reporting email template draft
Vigneshkna Apr 24, 2025
83ed8a3
Add unit tests for Slack API token validation
Vigneshkna May 7, 2025
6693bd0
Refactor code structure for improved readability and maintainability
Vigneshkna May 7, 2025
c39e3d9
chore(build): remove empty .gitkeep files from build directories
Vigneshkna May 7, 2025
70fc366
feat: add scripts for processing MDX files and generating supported s…
Vigneshkna Jun 30, 2025
f9cd733
feat: add scripts for processing MDX files and generating supported s…
Vigneshkna Jun 30, 2025
94c824a
feat(api): add check-api-threshold and validate routes
Vigneshkna Jul 10, 2025
b36faec
feat(api): add check-api-threshold and validate routes (#9)
Vigneshkna Jul 10, 2025
adf54ce
feat(token): implement secure token management with keyring integration
Vigneshkna May 31, 2025
eab2368
feat(token): update Dockerfile to use Python 3.13.5 and add token val…
Vigneshkna Jun 30, 2025
8af52fb
feat(token): enhance token management with validation, encryption, an…
Vigneshkna Jul 4, 2025
e225158
fix(email_handler): improve error logging, enhance encryption process…
Vigneshkna Jul 9, 2025
b878aa8
feat(docker): update base image to Python 3.14-rc-alpine3.20
Vigneshkna Jul 11, 2025
5e0804d
refactor(tests): update requirements and clean up email validation tests
Vigneshkna Jul 11, 2025
e1c4d9b
chore(requirements): update certifi to 2025.7.9 and typing-extensions…
Vigneshkna Jul 11, 2025
c845b34
feat: Update README with new command examples and token management op…
Vigneshkna Jul 20, 2025
95d8b06
Add JSON schema for configuration validation
Vigneshkna Jul 25, 2025
e82983d
Merge branch 'Blackplums:develop/package' into develop/package
Vigneshkna Jul 25, 2025
ad69da7
Doc Updates (#10)
Vigneshkna Jul 25, 2025
c183d15
feat: Add guides for generating and updating API tokens
Vigneshkna Sep 20, 2025
4ca62f5
feat: Add API Token FAQ guide covering usage, limitations, and suppor…
Vigneshkna Sep 20, 2025
d139af0
fix: Update blog post images and remove outdated entry
Vigneshkna Sep 20, 2025
6b392a0
feat: Enhance API Token FAQ section with detailed questions and answers
Vigneshkna Sep 20, 2025
f73283a
feat: Update navigation links and enhance documentation for API Token…
Vigneshkna Sep 20, 2025
ba42061
refactor: Improve code formatting for links and step items in API Tok…
Vigneshkna Sep 20, 2025
7734454
feat: Add new scripts and settings for documentation and navigation
Vigneshkna Sep 20, 2025
41176cc
Docs Updates (#11)
Vigneshkna Sep 20, 2025
ec9b430
Implement feature X to enhance user experience and optimize performance
Vigneshkna Sep 20, 2025
723864b
Merge branch 'Blackplums:develop/package' into develop/package
Vigneshkna Sep 20, 2025
bc062b2
Updated Package-lock (#12)
Vigneshkna Sep 20, 2025
2478d68
feat: Add CODEOWNERS, CODE_OF_CONDUCT, CONTRIBUTING, and SECURITY fil…
Vigneshkna Sep 21, 2025
9432f44
feat: Implement GitHub Actions workflows for release management, test…
Vigneshkna Sep 21, 2025
b0ae249
Merge branch 'Blackplums:develop/package' into develop/package
Vigneshkna Sep 21, 2025
c6dc37b
Project workflow updates (#13)
Vigneshkna Sep 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
31 changes: 31 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# CODEOWNERS file for how2validate project
# This file assigns ownership for different parts of the repository
# Each line matches a file pattern to one or more code owners

# Default owners (fallback for all files not explicitly mentioned)
* @blackplums/admin

# Owners for specific areas of the project

# Workflow
/.github @blackplums/admin @vigneshkna
/.gitignore @blackplums/admin @vigneshkna

# Source Packages
/src/docker/ @blackplums/admin @vigneshkna
/src/js/ @blackplums/admin @vigneshkna
/src/python/ @blackplums/admin @vigneshkna
/src/scripts/ @blackplums/admin @vigneshkna


# Documentation
/docs/ @blackplums/admin @vigneshkna @manimarans
/README.md @blackplums/admin @vigneshkna

# Root files
/CODE_OF_CONDUCT.md @blackplums/admin @vigneshkna
/CODEOWNERS @blackplums/admin @vigneshkna
/CONTRIBUTING.md @blackplums/admin @vigneshkna
/LICENSE @blackplums/admin @vigneshkna
/SECURITY.md @blackplums/admin @vigneshkna

134 changes: 134 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@

# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders 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, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official email address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
VigneshKna@gmail.com.
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series of
actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within the
community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].

Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].

For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].

[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

1 change: 1 addition & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Contribution
2 changes: 1 addition & 1 deletion SECURITY.md → .github/SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

If you discover a security vulnerability within this project, please follow these steps to report it:

1. **Create a New Issue**: Go to the [Issues](../../issues) section of this repository.
1. **Create a New Issue**: Go to the [Issues](../../../issues/new/choose) section of this repository.

2. **Tag the Issue**: Use the **`security`** tag when creating the issue to highlight that it’s a security-related concern.

Expand Down
34 changes: 34 additions & 0 deletions .github/actions/bump-version/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: "Bump Version"
description: "Detect semver bump type and update Config.ini"

inputs:
bump-type:
description: "Version bump type: patch, minor, major, beta"
required: true

outputs:
new-version:
description: "The new version bumped from Config.ini"
value: ${{ steps.bump.outputs.new-version }}

runs:
using: "composite"
steps:
- name: Run bump_version.py
id: bump
shell: bash
run: |
# Run the version bump script with the specified bump type
OUTPUT=$(python src/python/bump_version.py ${{ inputs.bump-type }})

# Print all output for logging
echo "$OUTPUT"

# Extract the new version from the 'NewVersion:' line
NEW_VERSION=$(echo "$OUTPUT" | grep "NewVersion:" | awk '{print $2}')

# Set output for workflow
echo "new-version=$NEW_VERSION" >> "$GITHUB_OUTPUT"

# Optional log for clarity
echo "Bumped version: $NEW_VERSION"
21 changes: 21 additions & 0 deletions .github/actions/install-deps/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: "Install Deps"
description: "Install Python dependencies"

runs:
using: "composite"
steps:
- name: Update and Install dependencies
working-directory: ./src/python
shell: bash
run: |
echo "::notice::######################### Upgrading pip ###################################"
python -m pip install --upgrade pip
pip install pip-tools
pip-compile ./requirements.in
pip-compile --upgrade ./requirements.in

echo "::notice::######################### Installing dependencies #########################"
pip install -r requirements.txt

echo "::notice::################## End of Update and Install dependencies #################"

67 changes: 67 additions & 0 deletions .github/actions/publish-docker/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: "Publish Docker Image"
description: "Composite action: Build, push Docker image and generate attestation"

inputs:
registry:
description: 'Container registry (eg. ghcr.io)'
required: true
default: 'ghcr.io'
image_name:
description: 'Repository/name for image (eg. owner/repo)'
required: true
context:
description: 'Build context path'
required: true
default: './src/docker'
dockerfile:
description: 'Path to Dockerfile'
required: true
default: './src/docker/Dockerfile'
push:
description: 'Whether to push the image (true/false)'
required: true
default: 'true'
github_token:
description: 'GitHub token to authenticate to registry'
required: true

runs:
using: composite
steps:
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ inputs.registry }}
username: ${{ github.actor }}
password: ${{ inputs.github_token }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ inputs.registry }}/${{ inputs.image_name }}

- name: Build and push Docker image
id: push
uses: docker/build-push-action@v6
with:
context: ${{ inputs.context }}
file: ${{ inputs.dockerfile }}
push: ${{ inputs.push }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

- name: Generate artifact attestation
uses: actions/attest-build-provenance@v2
with:
subject-name: ${{ inputs.registry }}/${{ inputs.image_name }}
subject-digest: ${{ steps.push.outputs.digest }}
push-to-registry: true

outputs:
digest:
description: 'Image digest produced by docker/build-push-action'
value: ${{ steps.push.outputs.digest }}
tags:
description: 'Computed image tags'
value: ${{ steps.meta.outputs.tags }}
26 changes: 26 additions & 0 deletions .github/actions/publish-pypi/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: 'Build Python Package'
description: 'Sets up Python environment and builds package distributions'

inputs:
version:
description: "Release version"
required: true

runs:
using: 'composite'
steps:
- name: Build package distributions
working-directory: ./src/python
shell: bash
run: python setup.py sdist bdist_wheel

- name: Upload distribution artifacts
uses: actions/upload-artifact@v4
with:
name: python-v${{ inputs.version }}
path: dist/

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: dist/
25 changes: 25 additions & 0 deletions .github/actions/release-tag/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: "Create Release"
description: "Tag current version and publish GitHub Release"

inputs:
version:
description: "Release version"
required: true

runs:
using: "composite"
steps:
- name: Create Git tag
shell: bash
run: |
git config user.name "github-actions"
git config user.email "github-actions@github.com"
git tag v${{ inputs.version }}
git push origin v${{ inputs.version }}

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ inputs.version }}
name: Release v${{ inputs.version }}
body: "Automated release for version ${{ inputs.version }}"
32 changes: 32 additions & 0 deletions .github/actions/test-package/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: "Test Python Package"
description: "Composite action: Runs Testing python packages"

inputs:
test-command:
description: "Command to run tests"
required: false
default: "pytest"

outputs:
tests-passed:
description: "true when tests passed"
value: ${{ steps.run_tests.outputs.tests_passed }}

runs:
using: "composite"
steps:
- name: Run tests
id: run_tests
shell: bash
working-directory: ./src/python/tests
run: |
set -e
echo "::notice::Running tests with: ${{ inputs.test-command }}"
if bash -lc "${{ inputs.test-command }}"; then
echo "::notice::Tests passed!"
echo "tests_passed=true" >> "$GITHUB_OUTPUT"
else
echo "::error::Tests failed!"
echo "::error::tests_passed=false" >> "$GITHUB_OUTPUT"
exit 1
fi
Loading
Loading