Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---

**Describe the bug**

A clear and concise description of what the bug is.

**To Reproduce**

Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**

A clear and concise description of what you expected to happen.

**Screenshots**

If applicable, add screenshots to help explain your problem.

**Installation Setup (please complete the following information):**

- OS: [e.g. iOS]
- Python Version: [e.g. 3.8, 3.6]
- SDK Version: [e.g. 1.0]

**Additional context**

Add any other context about the problem here.
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**

A clear and concise description of what you want to happen.

**Describe alternatives you've considered**

A clear and concise description of any alternative solutions or features you've considered.

**Additional context**

Add any other context or screenshots about the feature request here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/general_inquiry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: General Inquiry
about: General inquiry about usage
title: ''
labels: ''
assignees: ''

---

**Question Summary**

A clear and concise summary of question or goal that you have in mind.

**Detailed background**

Additional details required to frame the context of your question.

**Screenshots**

If applicable, add screenshots to help explain your question.
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/security_vulnerability.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: Security Vulnerabilities/Risks
about: Report on security vulnerabilities or risks
title: ''
labels: ''
assignees: ''
---

**Describe the Security Vulnerability**

A clear and concise description of what the security vulnerability/risk is.

**To Reproduce**

Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected Security Policy/Actions**

A clear and concise description of what you expected to happen and any possible recommendation.

**Screenshots**

If applicable, add screenshots to help explain your problem.

**Installation Setup (please complete the following information):**

- OS: [e.g. iOS]
- Python Version: [e.g. 3.8, 3.6]
- SDK Version: [e.g. 22]

**Additional context**

Add any other context about the problem here.


41 changes: 41 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Copyright 2022 RTDIP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

changelog:
exclude:
labels:
- dependencies
- duplicate
- help wanted
- invalid
- wontfix
- question
authors:
- dependabot[bot]
categories:
- title: Major Release
labels:
- breaking-change
- title: New Features
labels:
- enhancement
- title: Bug Fixes
labels:
- bug
- title: Documentation
labels:
- documentation
- title: Other Changes
labels:
- "*"
130 changes: 130 additions & 0 deletions .github/workflows/develop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Copyright 2022 RTDIP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: 'Develop'

on:
# Trigger the workflow on push to develop
push:
branches:
- develop

jobs:
job_run_unit_tests_and_sonarqube:
uses: rtdip/core/.github/workflows/test.yml@develop
secrets:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

job_build_python_package_and_docker_container:
runs-on: ubuntu-latest
needs: job_run_unit_tests_and_sonarqube
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install twine
pip install build
pip install requests
pip install semver==3.0.0.dev3
- name: Determine Next Test PyPI Version
id: next_ver
run: |
import requests
import semver
import os
from packaging.version import Version as PyPIVersion

def get_semver_version(pypi_url: str, package: str, include_prereleases=False) -> semver.Version:
response = requests.get(f'{pypi_url}/pypi/{package}/json')
if response.status_code != 200:
pypi_latest_version = "0.0.0"
else:
if include_prereleases == True:
pypi_latest_version = list(response.json()["releases"].keys())[-1]
else:
pypi_latest_version = response.json()['info']['version']

pypi_ver = PyPIVersion(pypi_latest_version)

pre=None
if pypi_ver.is_prerelease:
pre = "".join(str(i) for i in pypi_ver.pre)
pypi_ver = semver.Version(*pypi_ver.release, pre)
return pypi_ver

package = 'rtdip-sdk'

pypi_ver = get_semver_version("https://pypi.org", package)
print("Current PyPi version: " + str(pypi_ver))

next_ver = pypi_ver.bump_patch()

test_pypi_ver = get_semver_version("https://test.pypi.org", package)
print("Current TestPyPi version: " + str(test_pypi_ver))

if next_ver == "0.0.1":
next_ver = test_pypi_ver
elif test_pypi_ver.major == next_ver.major and test_pypi_ver.minor == next_ver.minor and test_pypi_ver.patch == next_ver.patch and test_pypi_ver.prerelease != None:
next_ver = next_ver.replace(prerelease=test_pypi_ver.prerelease)

next_ver = next_ver.bump_prerelease()
print("Next version: " + str(next_ver))
print(f'::set-output name=rtdip_sdk_next_ver::{str(next_ver)}')
shell: python
- name: Build Wheel
run: |
python -m build --wheel
env:
RTDIP_SDK_NEXT_VER: ${{ steps.next_ver.outputs.rtdip_sdk_next_ver }}
- name: Upload Python wheel as artifact
uses: actions/upload-artifact@v2
with:
name: rtdip_sdk_whl
path: ./dist/*.whl
- name: Publish distribution 📦 to Test PyPI
run: |
twine upload --repository testpypi --username __token__ --password ${{ secrets.TEST_PYPI_API_TOKEN }} --verbose dist/*

# Deploy to Docker Hub
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
with:
images: |
rtdip/prerelease
tags: |
type=semver,pattern={{version}},prefix=api-azure-,value=${{ steps.next_ver.outputs.rtdip_sdk_next_ver }}

- name: Build and push Docker images
uses: docker/build-push-action@v3
with:
context: .
file: ./src/api/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
27 changes: 27 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Copyright 2022 RTDIP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: 'Main'

on:
# Trigger the workflow on push to main
push:
branches:
- main

jobs:
job_run_unit_tests_and_sonarqube:
uses: rtdip/core/.github/workflows/test.yml@main
secrets:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
27 changes: 27 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Copyright 2022 RTDIP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: 'PR'

on:
# Trigger the workflow on pull request
pull_request:
branches: [main, develop]
types: [opened, synchronize, reopened]

jobs:
job_run_unit_tests_and_sonarqube:
uses: rtdip/core/.github/workflows/test.yml@develop
secrets:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
Loading