Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

👷 CI: Automated CI support for different environments (Fixes #3) #14

Merged
merged 12 commits into from
Mar 21, 2022

Conversation

abhiTronix
Copy link
Owner

Brief Description

This PR implements completely automated Continous Integration support for different environments in DeFFcode project.

Requirements / Checklist

  • I have read the DeFFcode PR Guidelines.
  • I have read the DeFFcode Documentation.
  • I have updated the documentation files accordingly(if required).

Related Issue

#3

Context

This PR brings complete Continous Integration support for testing DeFFcode APIs under different environments. This PR also fixes related bugs and creates new files related files., and plus adds .gitattributes.

🚀 Also, All available stable python 3.7+ versions are now officially supported by deffcode. 🎉

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

- ✨ Set the default behavior, in case people don't have `core.autocrlf` set.

(Note: Most of this code is borrowed from https://github.com/abhiTronix/vidgear)
- 👷 Add and configured `CIlinux.yml` to enable GitHub Action workflow for Linux-based Testing Envs.
- ⚡️ Implemented auto-handling of dependencies installation, unit testing, and coverage report uploading.
- ⚡️ Added `master` and `dev` branches for triggering CI.
- Added `3.7+` python-versions to build matrix.
- 👷 Added code coverage through `codecov/codecov-action@v2` workflow for measuring unit-tests effectiveness.
  -✨ Implemented behavior to about coverage upload on timeout(error code `124`) in pytests.
- ✨ Added automated flake8 testing to discover any anomalies in code.

(Note: Most of this code is borrowed from https://github.com/abhiTronix/vidgear)
- ✨ Imported Codecov config(codecov.yml) from vidgear to modify coverage threshold, primary branch, ignored files, and other parameters.
- 📄 Updated License Notice.

(Note: Most of this code is borrowed from https://github.com/abhiTronix/vidgear)
- 👷 Add and configured `appveyor.yml` to enable Appveyor workflow for Windows-based Testing Envs.
- ⚡️ Implemented auto-handling of pip dependencies installation, unit testing, and coverage report uploading.
- ⚡️ Added `master` and `dev` branches for triggering CI.
- 👷 Added `3.7+` 64-bit python-versions to build matrix.
- ⚡️ Enabled `fast_finish` to exit immediately on error.

(Note: Most of this code is borrowed from https://github.com/abhiTronix/vidgear)
- 👷 Add and configured `azure-pipelines.yml` to enable Azure-Pipelines workflow for MacOS-based Testing Envs.
- ⚡️ Implemented auto-handling of dependencies installation, unit testing, and coverage report uploading.
- ⚡️ Added `master` and `dev` branches for triggering CI with PR, and default branch as master only.
- Added `3.7+` python-versions to build matrix.
- 👷 Added code coverage through `codecov` workflow for measuring unit-tests effectiveness.
  - Added online auto validation of `codecov` bash script using `SH256SUM` and `sig` files as recommended.
  -✨ Implemented behavior to about coverage upload on timeout(error code `124`) in pytests.
- ✨ Added automated flake8 testing to discover any anomalies in code.

- 🔥 Maintenance: Replace redundant code.

(Note: Most of this code is borrowed from https://github.com/abhiTronix/vidgear)
@abhiTronix abhiTronix added Enhancement ⚡ New feature Issue/Request enhancing DeFFcode APIs. WIP 🏗️ Work in Progress Continous Integration 🏭 Related to Continous Integration(CI). Maintenance 🔧 Just sorting repository out. labels Mar 20, 2022
@abhiTronix abhiTronix added this to the v0.2.0 milestone Mar 20, 2022
@abhiTronix abhiTronix self-assigned this Mar 20, 2022
- 🚑️ Imported `delete_file_safe` from vidgear to safely deletes files at given path.

- 💡 Maintenance: Updated code comments.

(Note: Most of this code is borrowed from https://github.com/abhiTronix/vidgear)
- 🏗️ Updated yaml files to exclude beta `dev` branch from  triggering workflow on any environment.
- 👷 Restricted codecov  to use only `master` branch.

- 📝 Docs updated contribution guidelines and installation docs with related changes.
@codecov
Copy link

codecov bot commented Mar 20, 2022

Codecov Report

❗ No coverage uploaded for pull request base (master@2f5bb9d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #14   +/-   ##
=========================================
  Coverage          ?   96.21%           
=========================================
  Files             ?        6           
  Lines             ?      582           
  Branches          ?        0           
=========================================
  Hits              ?      560           
  Misses            ?       22           
  Partials          ?        0           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2f5bb9d...443cd66. Read the comment docs.

@abhiTronix abhiTronix linked an issue Mar 21, 2022 that may be closed by this pull request
13 tasks
@abhiTronix abhiTronix merged commit c387542 into master Mar 21, 2022
@abhiTronix abhiTronix deleted the dev branch March 21, 2022 02:23
@abhiTronix abhiTronix added Solved 🥅 Final goal achieved. and removed WIP 🏗️ Work in Progress labels Mar 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Continous Integration 🏭 Related to Continous Integration(CI). Enhancement ⚡ New feature Issue/Request enhancing DeFFcode APIs. Maintenance 🔧 Just sorting repository out. Solved 🥅 Final goal achieved.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enhancement: Implement pytest unit tests, coverage, and Continous Integration
1 participant