-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feat/check-v2 common packages under open cepk (#2)
* feat/check-v initial version
- Loading branch information
1 parent
7adbb8f
commit d1081e9
Showing
44 changed files
with
1,815 additions
and
1 deletion.
There are no files selected for viewing
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
* @opencepk/opencepk-admins |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
--- | ||
name: pre-commit | ||
|
||
on: | ||
pull_request: | ||
|
||
permissions: read-all | ||
|
||
jobs: | ||
pre-commit: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v3 | ||
- name: setup-python | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: '3.11' | ||
# - name: install-dependencies | ||
# run: pip install -r opencepk_lib_python_common/pypi_bumpversion_check_package/pypi_bumpversion_check/requirements.txt | ||
- name: pre-commit-run | ||
uses: pre-commit/action@v3.0.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- | ||
name: publish-to-pypi | ||
|
||
on: | ||
workflow_run: | ||
workflows: ["pre-commit"] | ||
types: | ||
- completed | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
build: | ||
name: build-pip-package | ||
runs-on: ubuntu-latest | ||
permissions: | ||
id-token: write | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v5.1.0 | ||
with: | ||
python-version: 3.11 | ||
|
||
- name: run pip install | ||
run: | | ||
pip3 install . | ||
pip3 install ".[dep]" | ||
build-n-publish: | ||
needs: build | ||
name: build-n-publish | ||
runs-on: ubuntu-latest | ||
permissions: | ||
id-token: write | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v5.1.0 | ||
with: | ||
python-version: 3.11 | ||
|
||
- name: Install pip packages | ||
run: pip install twine build setuptools | ||
|
||
- name: Build the package | ||
run: python -m build | ||
|
||
- name: Publish package to PyPI | ||
if: ${{ github.event_name == 'pull_request' && github.head_ref == '/refs/heads/main' && github.event.action == 'closed' && github.event.pull_request.merged == true }} | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
skip-existing: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
--- | ||
name: tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
# ---------------------- | ||
# JOB 1: Run unit tests | ||
# ---------------------- | ||
tests-unit: | ||
name: tests-unit | ||
runs-on: ubuntu-latest | ||
permissions: | ||
id-token: write | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v5.1.0 | ||
with: | ||
python-version: 3.11 | ||
|
||
- name: Run tests | ||
run: python3 -m unittest opencepk_lib_python_common.find_and_replace_strings_package.tests.test_main | ||
# ---------------------- | ||
# JOB 2: Run python package end to end test | ||
# ---------------------- | ||
test-package-e2e: | ||
name: test-package-e2e | ||
runs-on: ubuntu-latest | ||
permissions: | ||
id-token: write | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v5.1.0 | ||
with: | ||
python-version: 3.11 | ||
|
||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install toml requests | ||
- name: Run test-package-e2e.sh for find-replace-strings package | ||
run: | | ||
cd opencepk_lib_python_common/find_and_replace_strings_package/tests-package-e2e | ||
./test-package-e2e.sh | ||
- name: Run test-package-e2e.sh for check version package | ||
run: | | ||
cd opencepk_lib_python_common/pypi_bumpversion_check_package/tests-package-e2e | ||
./test-package-e2e.sh | ||
# ---------------------- | ||
# JOB 3: Run pre-commit hook test | ||
# ---------------------- | ||
test-pre-commit-hook: | ||
name: test-pre-commit-hook | ||
runs-on: ubuntu-latest | ||
permissions: | ||
id-token: write | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v5.1.0 | ||
with: | ||
python-version: 3.11 | ||
|
||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install pre-commit | ||
- name: Run test-pre-commit-hook.sh for find-replace-strings package | ||
run: | | ||
cd opencepk_lib_python_common/find_and_replace_strings_package/tests-pre-commit-hook | ||
./test-pre-commit-hook.sh | ||
- name: Run test-pre-commit-hook.sh for check version package | ||
run: | | ||
cd opencepk_lib_python_common/pypi_bumpversion_check_package/tests-pre-commit-hook | ||
./test-pre-commit-hook.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
--- | ||
repos: | ||
|
||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v4.6.0 | ||
hooks: | ||
- id: check-merge-conflict | ||
- id: check-added-large-files | ||
args: [--maxkb=500] | ||
- id: trailing-whitespace | ||
- id: detect-private-key | ||
- id: end-of-file-fixer | ||
- id: fix-encoding-pragma | ||
- id: file-contents-sorter | ||
- id: check-case-conflict | ||
- id: mixed-line-ending | ||
args: [--fix=lf] | ||
# ----------------------------- | ||
# Checkov is a static code analysis tool for scanning infrastructure as code (IaC) files for misconfigurations | ||
# that may lead to security or compliance problems. | ||
# ----------------------------- | ||
# Checkov includes more than 750 predefined policies to check for common misconfiguration issues. | ||
# Checkov also supports the creation and contribution of custom policies. | ||
# ----------------------------- | ||
- repo: https://github.com/bridgecrewio/checkov.git | ||
rev: 3.2.171 | ||
hooks: | ||
- id: checkov | ||
# ----------------------------- | ||
# Gitleaks SAST tool for detecting and preventing hardcoded secrets like passwords, api keys, and tokens in git repos | ||
# ----------------------------- | ||
# If you are knowingly committing something that is not a secret and gitleaks is catching it, | ||
# you can add an inline comment of '# gitleaks:allow' to the end of that line in your file. | ||
# This will instructs gitleaks to ignore that secret - example: | ||
# some_non_secret_value = a1b2c3d4e5f6g7h8i9j0 # gitleaks:allow | ||
# ----------------------------- | ||
- repo: https://github.com/gitleaks/gitleaks | ||
rev: v8.18.4 | ||
hooks: | ||
- id: gitleaks | ||
# ----------------------------- | ||
# # Generates Table of Contents in Markdown files | ||
# # ----------------------------- | ||
- repo: https://github.com/frnmst/md-toc | ||
rev: 9.0.0 | ||
hooks: | ||
- id: md-toc | ||
args: [-p, github] # CLI options | ||
# ----------------------------- | ||
# YAML Linting on yaml files for pre-commit and github actions | ||
# ----------------------------- | ||
- repo: https://github.com/adrienverge/yamllint | ||
rev: v1.35.1 | ||
hooks: | ||
- id: yamllint | ||
name: Check YAML syntax with yamllint | ||
args: [--strict, -c=.yamllint.yaml, '.'] | ||
always_run: true | ||
pass_filenames: true | ||
|
||
# ----------------------------- | ||
# PYPI bumpversion check | ||
# ----------------------------- | ||
# - repo: local | ||
# hooks: | ||
# - id: install-pypi_bumpversion_check-requirements | ||
# name: Install PYPI bumpversion check requirements | ||
# entry: sh -c 'pip3 install -r ./opencepk_lib_python_common/pypi_bumpversion_check_package/pypi_bumpversion_check/requirements.txt && exit 0' | ||
# language: system | ||
# always_run: true | ||
|
||
# ----------------------------- | ||
# PYPI bumpversion check | ||
# ----------------------------- | ||
- repo: local | ||
hooks: | ||
- id: pypi_bumpversion_check | ||
name: Check version | ||
args: ['./pyproject.toml'] | ||
entry: python3 -m opencepk_lib_python_common.pypi_bumpversion_check_package.pypi_bumpversion_check | ||
language: python | ||
pass_filenames: false # Do not pass filenames to the hook (this is important to keep) | ||
additional_dependencies: | ||
- toml | ||
- requests | ||
|
||
|
||
- repo: local | ||
hooks: | ||
- id: unittest | ||
name: Run unit tests | ||
entry: python3 -m unittest opencepk_lib_python_common.find_and_replace_strings_package.tests.test_main | ||
language: system | ||
pass_filenames: false | ||
always_run: true | ||
|
||
- repo: local | ||
hooks: | ||
- id: toml build | ||
name: test the .toml package health | ||
entry: pip3 install . | ||
language: system | ||
pass_filenames: false | ||
always_run: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
--- | ||
- id: python-pypi-version-check | ||
name: python-pypi-version-check | ||
description: Check if Python package already exists on PYPI. | ||
# entry: hooks/pypi_bumpversion_check-check | ||
entry: python-pypi-version-check | ||
language: python | ||
|
||
- id: find-and-replace-strings | ||
name: find-and-replace-strings | ||
description: Check if Python package already exists on PYPI. | ||
entry: find-and-replace-strings | ||
# entry: hooks/find_and_replace_strings | ||
language: python | ||
|
||
|
||
# python-pypi-version-check-test /Users/hamed/Desktop/tucows-code/find-and-replace-strings/pyproject.toml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
--- | ||
yaml-files: | ||
- '*.yaml' | ||
- '*.yml' | ||
- '.yamllint' | ||
|
||
rules: | ||
anchors: enable | ||
braces: enable | ||
brackets: enable | ||
colons: enable | ||
commas: enable | ||
comments: | ||
level: warning | ||
comments-indentation: | ||
level: warning | ||
document-end: disable | ||
document-start: | ||
level: warning | ||
empty-lines: enable | ||
empty-values: disable | ||
float-values: disable | ||
hyphens: enable | ||
indentation: enable | ||
key-duplicates: enable | ||
key-ordering: disable | ||
# line-length: | ||
# max: 150 | ||
# level: warning | ||
new-line-at-end-of-file: enable | ||
new-lines: enable | ||
octal-values: disable | ||
quoted-strings: disable | ||
trailing-spaces: enable | ||
truthy: disable |
Oops, something went wrong.