Initial commit
This commit is contained in:
15
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
15
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
@@ -0,0 +1,15 @@
|
||||
### Summary :memo:
|
||||
_Write an overview about it._
|
||||
|
||||
### Details
|
||||
_Describe more what you did on changes._
|
||||
1. (...)
|
||||
2. (...)
|
||||
|
||||
### Bugfixes :bug: (delete if dind't have any)
|
||||
-
|
||||
|
||||
### Checks
|
||||
- [ ] Closed #798
|
||||
- [ ] Tested Changes
|
||||
- [ ] Stakeholder Approval
|
||||
68
.gitea/init.sh
Executable file
68
.gitea/init.sh
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env bash
|
||||
overwrite_template_dir=0
|
||||
|
||||
while getopts t:o flag
|
||||
do
|
||||
case "${flag}" in
|
||||
t) template=${OPTARG};;
|
||||
o) overwrite_template_dir=1;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "${template}" ]; then
|
||||
echo "Available templates: Flask"
|
||||
read -p "Enter template name: " template
|
||||
fi
|
||||
|
||||
repo_urlname=$(basename -s .git `git config --get remote.origin.url`)
|
||||
repo_name=$(basename -s .git `git config --get remote.origin.url` | tr '-' '_' | tr '[:upper:]' '[:lower:]')
|
||||
repo_owner=$(git config --get remote.origin.url | awk -F ':' '{print $2}' | awk -F '/' '{print $1}')
|
||||
echo "Repo name: ${repo_name}"
|
||||
echo "Repo owner: ${repo_owner}"
|
||||
echo "Repo urlname: ${repo_urlname}"
|
||||
|
||||
if [ -f ".gitea/workflows/rename_project.yml" ]; then
|
||||
.gitea/rename_project.sh -a "${repo_owner}" -n "${repo_name}" -u "${repo_urlname}" -d "Awesome ${repo_name} created by ${repo_owner}"
|
||||
fi
|
||||
|
||||
function download_template {
|
||||
rm -rf "${template_dir}"
|
||||
mkdir -p .gitea/templates
|
||||
git clone "${template_url}" "${template_dir}"
|
||||
}
|
||||
|
||||
echo "Using template:${template}"
|
||||
template_url="https://git.disi.dev/Templates/${template}"
|
||||
template_dir=".gitea/templates/${template}"
|
||||
if [ -d "${template_dir}" ]; then
|
||||
# Template directory already exists
|
||||
if [ "${overwrite_template_dir}" -eq 1 ]; then
|
||||
# user passed -o flag, delete and re-download
|
||||
echo "Overwriting ${template_dir}"
|
||||
download_template
|
||||
else
|
||||
# Ask user if they want to overwrite
|
||||
echo "Directory ${template_dir} already exists."
|
||||
read -p "Do you want to overwrite it? [y/N] " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo "Overwriting ${template_dir}"
|
||||
download_template
|
||||
else
|
||||
# User decided not to overwrite
|
||||
echo "Using existing ${template_dir}"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# Template directory does not exist, download it
|
||||
echo "Downloading ${template_url}"
|
||||
download_template
|
||||
fi
|
||||
|
||||
echo "Applying ${template} template to this project"}
|
||||
./.gitea/templates/${template}/apply.sh -a "${repo_owner}" -n "${repo_name}" -u "${repo_urlname}" -d "Awesome ${repo_name} created by ${repo_owner}"
|
||||
|
||||
# echo "Removing temporary template files"
|
||||
# rm -rf .gitea/templates/${template}
|
||||
|
||||
echo "Done! review, commit and push the changes"
|
||||
3
.gitea/release_message.sh
Executable file
3
.gitea/release_message.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
previous_tag=$(git tag --sort=-creatordate | sed -n 2p)
|
||||
git shortlog "${previous_tag}.." | sed 's/^./ &/'
|
||||
36
.gitea/rename_project.sh
Executable file
36
.gitea/rename_project.sh
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
while getopts a:n:u:d: flag
|
||||
do
|
||||
case "${flag}" in
|
||||
a) author=${OPTARG};;
|
||||
n) name=${OPTARG};;
|
||||
u) urlname=${OPTARG};;
|
||||
d) description=${OPTARG};;
|
||||
esac
|
||||
done
|
||||
|
||||
echo "Author: $author";
|
||||
echo "Project Name: $name";
|
||||
echo "Project URL name: $urlname";
|
||||
echo "Description: $description";
|
||||
|
||||
echo "Renaming project..."
|
||||
|
||||
original_author="author_name"
|
||||
original_name="project_name"
|
||||
original_urlname="project_urlname"
|
||||
original_description="project_description"
|
||||
# for filename in $(find . -name "*.*")
|
||||
for filename in $(git ls-files)
|
||||
do
|
||||
sed -i "s/$original_author/$author/g" $filename
|
||||
sed -i "s/$original_name/$name/g" $filename
|
||||
sed -i "s/$original_urlname/$urlname/g" $filename
|
||||
sed -i "s/$original_description/$description/g" $filename
|
||||
echo "Renamed $filename"
|
||||
done
|
||||
|
||||
mv project_name $name
|
||||
|
||||
# This command runs only once on GHA!
|
||||
rm -rf .gitea/template.yml
|
||||
1
.gitea/template.yml
Normal file
1
.gitea/template.yml
Normal file
@@ -0,0 +1 @@
|
||||
author: rochacbruno
|
||||
88
.gitea/workflows/main.yml
Normal file
88
.gitea/workflows/main.yml
Normal file
@@ -0,0 +1,88 @@
|
||||
# This is a basic workflow to help you get started with Actions
|
||||
|
||||
name: CI
|
||||
|
||||
# Controls when the workflow will run
|
||||
on:
|
||||
# Triggers the workflow on push or pull request events but only for the main branch
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
linter:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: [3.9]
|
||||
os: [ubuntu-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install project
|
||||
run: make install
|
||||
- name: Run linter
|
||||
run: make lint
|
||||
|
||||
tests_linux:
|
||||
needs: linter
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: [3.9]
|
||||
os: [ubuntu-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install project
|
||||
run: make install
|
||||
- name: Run tests
|
||||
run: make test
|
||||
|
||||
# tests_mac:
|
||||
# needs: linter
|
||||
# strategy:
|
||||
# fail-fast: false
|
||||
# matrix:
|
||||
# python-version: [3.9]
|
||||
# os: [macos-latest]
|
||||
# runs-on: ${{ matrix.os }}
|
||||
# steps:
|
||||
# - uses: actions/checkout@v3
|
||||
# - uses: actions/setup-python@v4
|
||||
# with:
|
||||
# python-version: ${{ matrix.python-version }}
|
||||
# - name: Install project
|
||||
# run: make install
|
||||
# - name: Run tests
|
||||
# run: make test
|
||||
|
||||
# tests_win:
|
||||
# needs: linter
|
||||
# strategy:
|
||||
# fail-fast: false
|
||||
# matrix:
|
||||
# python-version: [3.9]
|
||||
# os: [windows-latest]
|
||||
# runs-on: ${{ matrix.os }}
|
||||
# steps:
|
||||
# - uses: actions/checkout@v3
|
||||
# - uses: actions/setup-python@v4
|
||||
# with:
|
||||
# python-version: ${{ matrix.python-version }}
|
||||
# - name: Install Pip
|
||||
# run: pip install --user --upgrade pip
|
||||
# - name: Install project
|
||||
# run: pip install -e .[test]
|
||||
# - name: run tests
|
||||
# run: pytest -s -vvvv -l --tb=long tests
|
||||
52
.gitea/workflows/release.yml
Normal file
52
.gitea/workflows/release.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
name: Upload Python Package
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
push:
|
||||
# Sequence of patterns matched against refs/tags
|
||||
tags:
|
||||
- '*' # Push events to matching v*, i.e. v1.0, v20.15.10
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Create Release
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
# by default, it uses a depth of 1
|
||||
# this fetches all history so that we can read each commit
|
||||
fetch-depth: 0
|
||||
- name: Generate Changelog
|
||||
run: .gitea/release_message.sh > release_message.md
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
body_path: release_message.md
|
||||
|
||||
# deploy:
|
||||
# needs: release
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - uses: actions/checkout@v3
|
||||
# - name: Set up Python
|
||||
# uses: actions/setup-python@v4
|
||||
# with:
|
||||
# python-version: '3.x'
|
||||
# - name: Install dependencies
|
||||
# run: |
|
||||
# python -m pip install --upgrade pip
|
||||
# pip install setuptools wheel twine
|
||||
# - name: Build and publish
|
||||
# env:
|
||||
# TWINE_USERNAME: __token__
|
||||
# TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
||||
# run: |
|
||||
# python setup.py sdist bdist_wheel
|
||||
# twine upload dist/*
|
||||
42
.gitea/workflows/rename_project.yml
Normal file
42
.gitea/workflows/rename_project.yml
Normal file
@@ -0,0 +1,42 @@
|
||||
name: Rename the project from template
|
||||
|
||||
on: [push]
|
||||
|
||||
permissions: write-all
|
||||
|
||||
jobs:
|
||||
rename-project:
|
||||
if: ${{ !endsWith (github.repository, 'Templates/Python') }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
# by default, it uses a depth of 1
|
||||
# this fetches all history so that we can read each commit
|
||||
fetch-depth: 0
|
||||
ref: ${{ gitea.head_ref }}
|
||||
|
||||
- run: echo "REPOSITORY_NAME=$(echo "$GITHUB_REPOSITORY" | awk -F '/' '{print $2}' | tr '-' '_' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- run: echo "REPOSITORY_URLNAME=$(echo "$GITHUB_REPOSITORY" | awk -F '/' '{print $2}')" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- run: echo "REPOSITORY_OWNER=$(echo "$GITHUB_REPOSITORY" | awk -F '/' '{print $1}')" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Is this still a template
|
||||
id: is_template
|
||||
run: echo "::set-output name=is_template::$(ls .gitea/template.yml &> /dev/null && echo true || echo false)"
|
||||
|
||||
- name: Rename the project
|
||||
if: steps.is_template.outputs.is_template == 'true'
|
||||
run: |
|
||||
echo "Renaming the project with -a(author) ${{ env.REPOSITORY_OWNER }} -n(name) ${{ env.REPOSITORY_NAME }} -u(urlname) ${{ env.REPOSITORY_URLNAME }}"
|
||||
.gitea/rename_project.sh -a ${{ env.REPOSITORY_OWNER }} -n ${{ env.REPOSITORY_NAME }} -u ${{ env.REPOSITORY_URLNAME }} -d "Awesome ${{ env.REPOSITORY_NAME }} created by ${{ env.REPOSITORY_OWNER }}"
|
||||
|
||||
- uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: "✅ Ready to clone and code."
|
||||
# commit_options: '--amend --no-edit'
|
||||
push_options: --force
|
||||
26
.gitea/workflows/sonar.yml
Normal file
26
.gitea/workflows/sonar.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened]
|
||||
|
||||
name: SonarQube Scan
|
||||
jobs:
|
||||
sonarqube:
|
||||
name: SonarQube Trigger
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checking out
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
# Disabling shallow clone is recommended for improving relevancy of reporting
|
||||
fetch-depth: 0
|
||||
- name: SonarQube Scan
|
||||
uses: sonarsource/sonarqube-scan-action@master
|
||||
env:
|
||||
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
|
||||
SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }}
|
||||
with:
|
||||
args: >
|
||||
-Dsonar.projectKey=project_name
|
||||
Reference in New Issue
Block a user