Skip to content

Commit fc3c5e9

Browse files
committed
feat(core): added cicd flows
1 parent ad8229a commit fc3c5e9

30 files changed

+2476
-0
lines changed

.bumpversion.cfg

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[bumpversion]
2+
current_version = 1.0.0
3+
commit = True
4+
tag = False
5+
6+
[bumpversion:file:pyproject.toml]

.github/FUNDING.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# These are supported funding model platforms
2+
3+
#github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
#patreon: # Replace with a single Patreon username
5+
#open_collective: # Replace with a single Open Collective username
6+
#ko_fi: # Replace with a single Ko-fi username
7+
#tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
#community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
#liberapay: # Replace with a single Liberapay username
10+
#issuehunt: # Replace with a single IssueHunt username
11+
#lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12+
#polar: # Replace with a single Polar username
13+
#buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
14+
#thanks_dev: # Replace with a single thanks.dev username
15+
#custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ""
5+
labels: ""
6+
assignees: ""
7+
---
8+
9+
**Describe the bug**
10+
A clear and concise description of what the bug is.
11+
12+
**To Reproduce**
13+
Steps to reproduce the behavior:
14+
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Desktop (please complete the following information):**
27+
28+
- OS: [e.g. iOS]
29+
- Browser [e.g. chrome, safari]
30+
- Version [e.g. 22]
31+
32+
**Smartphone (please complete the following information):**
33+
34+
- Device: [e.g. iPhone6]
35+
- OS: [e.g. iOS8.1]
36+
- Browser [e.g. stock browser, safari]
37+
- Version [e.g. 22]
38+
39+
**Additional context**
40+
Add any other context about the problem here.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
# .github/ISSUE_TEMPLATE/config.yml
3+
4+
blank_issues_enabled: false
5+
contact_links:
6+
- name: GitHub CICD Template Community Support
7+
url: https://github.com/JuanVilla424/github-cicd-template/discussions
8+
about: Please ask and answer questions here.
9+
- name: GitHub CICD Template Security Reports
10+
url: https://juanvilla424.github.io/github-cicd-template/SECURITY
11+
about: Please report security vulnerabilities here.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ""
5+
labels: ""
6+
assignees: ""
7+
---
8+
9+
**Is your feature request related to a problem? Please describe.**
10+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11+
12+
**Describe the solution you'd like**
13+
A clear and concise description of what you want to happen.
14+
15+
**Describe alternatives you've considered**
16+
A clear and concise description of any alternative solutions or features you've considered.
17+
18+
**Additional context**
19+
Add any other context or screenshots about the feature request here.

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
# .github/dependabot.yml
3+
4+
version: 2
5+
updates:
6+
- package-ecosystem: "pip"
7+
directory: "."
8+
schedule:
9+
interval: "weekly"
10+
commit-message:
11+
prefix: "deps"
12+
open-pull-requests-limit: 5

.github/workflows/ci.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
# .github/workflows/ci.yml
3+
4+
name: CI
5+
6+
on:
7+
push:
8+
branches:
9+
- main
10+
11+
permissions:
12+
contents: read
13+
id-token: write
14+
15+
jobs:
16+
build:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout repository
20+
uses: actions/checkout@v3
21+
- name: Set up Python
22+
uses: actions/setup-python@v4
23+
with:
24+
python-version: '3.12'
25+
- name: Install dependencies
26+
run: |
27+
python -m venv venv
28+
source venv/bin/activate
29+
pip install --upgrade pip
30+
pip install poetry
31+
poetry lock
32+
poetry install
33+
- name: Format check with Black
34+
run: |
35+
source venv/bin/activate
36+
black --check scripts/
37+
- name: Lint with Pylint
38+
run: |
39+
source venv/bin/activate
40+
pylint $(git ls-files '*.py')
41+
- name: Run tests
42+
run: |
43+
source venv/bin/activate
44+
pytest --cov=app --cov-report=xml:coverage.xml || [$? -eq 5]
45+
continue-on-error: true
46+
- name: List files to verify coverage.xml
47+
run: |
48+
ls -la *.xml
49+
cat *.xml
50+
continue-on-error: true
51+
- name: Upload coverage to Codecov
52+
if: success()
53+
uses: codecov/codecov-action@v3
54+
with:
55+
token: ${{ secrets.CODECOV_TOKEN }}
56+
files: coverage.xml
57+
flags: unittests
58+
name: codecov-umbrella
59+
continue-on-error: true
60+
- name: OSSF Scorecard action
61+
uses: ossf/[email protected]
62+
with:
63+
results_file: scoreboard-results.json
64+
results_format: json
65+
#publish_results: true
66+
continue-on-error: true
67+
- name: List files to verify scoreboard-results.json
68+
run: |
69+
ls -la scoreboard-results.json
70+
cat scoreboard-results.json
71+
continue-on-error: true
72+
- name: Upload Scorecard Results to Security Scorecards API
73+
if: always()
74+
run: |
75+
curl -X POST \
76+
"" \
77+
-H "Authorization: Bearer ${{ secrets.SCORECARD_TOKEN }}" \
78+
-H "Content-Type: application/json" \
79+
-d @scoreboard-results.json
80+
continue-on-error: true

.github/workflows/greetings.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
3+
name: Greetings
4+
5+
on: [pull_request_target, issues]
6+
7+
jobs:
8+
greeting:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
issues: write
12+
pull-requests: write
13+
steps:
14+
- uses: actions/first-interaction@v1
15+
with:
16+
repo-token: ${{ secrets.GITHUB_TOKEN }}
17+
issue-message: "Hooray! That was your first issue, be welcome to pages, thanks for contribute!!"
18+
pr-message: "Mmm, right, may a god can review this one... Lets take a rest, gods working!"

.github/workflows/node.yml.disabled

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
# .github/workflows/node.yml
3+
4+
name: Node CI
5+
on: [push]
6+
jobs:
7+
build:
8+
runs-on: ubuntu-latest
9+
strategy:
10+
matrix:
11+
node-version: ["22.x"]
12+
steps:
13+
- uses: actions/checkout@v4
14+
- name: Setup Node.js ${{ matrix.node-version }}
15+
uses: actions/setup-node@v4
16+
with:
17+
node-version: ${{ matrix.node-version }}
18+
- name: Install frontend dependencies
19+
run: |
20+
npm install
21+
npm ci
22+
working-directory: frontend
23+
- name: Format frontend project
24+
run: npm run format
25+
working-directory: frontend
26+
- name: Lint frontend project
27+
run: npm run lint
28+
working-directory: frontend
29+
- name: Build Frontend project
30+
run: npm run build --if-present
31+
working-directory: frontend

.github/workflows/python.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
# .github/workflows/python.yml
3+
4+
name: Python CI
5+
on: [push]
6+
jobs:
7+
build:
8+
runs-on: ubuntu-latest
9+
strategy:
10+
matrix:
11+
python-version: ["3.12"]
12+
steps:
13+
- uses: actions/checkout@v4
14+
- name: Set up Python ${{ matrix.python-version }}
15+
uses: actions/setup-python@v3
16+
with:
17+
python-version: ${{ matrix.python-version }}
18+
- name: Install dependencies
19+
run: |
20+
python -m venv venv
21+
source venv/bin/activate
22+
pip install --upgrade pip
23+
pip install poetry
24+
poetry lock
25+
poetry install
26+
- name: Format check with Black
27+
run: |
28+
source venv/bin/activate
29+
black --check scripts/
30+
- name: Lint with Pylint
31+
run: |
32+
source venv/bin/activate
33+
pylint $(git ls-files '*.py')
34+
continue-on-error: true

0 commit comments

Comments
 (0)