From a856c29d5dc2b57dd915edbce959e531da610b92 Mon Sep 17 00:00:00 2001 From: yashd24 Date: Thu, 10 Aug 2023 16:45:27 +0530 Subject: [PATCH 1/8] added workflows for cpp files --- .github/workflows | 1 + app.py | 33 ++++++++++++++++++++++ bubble.cpp | 48 +++++++++++++++++++++++++++++++ bubble.exe | Bin 0 -> 46151 bytes challenge.py | 19 +++++++++++++ check.yml | 70 ++++++++++++++++++++++++++++++++++++++++++++++ dbms.py | 28 +++++++++++++++++++ gitQueue.py | 34 ++++++++++++++++++++++ rounds.py | 39 ++++++++++++++++++++++++++ send_req.py | 6 ++++ 10 files changed, 278 insertions(+) create mode 160000 .github/workflows create mode 100644 app.py create mode 100644 bubble.cpp create mode 100644 bubble.exe create mode 100644 challenge.py create mode 100644 check.yml create mode 100644 dbms.py create mode 100644 gitQueue.py create mode 100644 rounds.py create mode 100644 send_req.py diff --git a/.github/workflows b/.github/workflows new file mode 160000 index 0000000..5d85678 --- /dev/null +++ b/.github/workflows @@ -0,0 +1 @@ +Subproject commit 5d85678ecd308a8f57edeaeda595095b62c1f0c7 diff --git a/app.py b/app.py new file mode 100644 index 0000000..863293a --- /dev/null +++ b/app.py @@ -0,0 +1,33 @@ +from flask import Flask +from flask import request +from flask import json +from gitQueue import addData + +import redis +from rq import Queue + +q = Queue(connection=redis.Redis()) + +app = Flask(__name__) + + +@app.route('/') +def home(): + return 'Hello 🙂' + + +@app.route('/githubdata', methods=['POST']) +def apiMessage(): + + if request.headers['Content-Type'] == 'application/json': + job = q.enqueue(addData, json.dumps(request.json)) + + return json.dumps(request.json) + + return "error" + + +if __name__ == '__main__': + app.run(debug=True) + + diff --git a/bubble.cpp b/bubble.cpp new file mode 100644 index 0000000..42cf55b --- /dev/null +++ b/bubble.cpp @@ -0,0 +1,48 @@ +using namespace std; +#include + +// An optimized version of Bubble Sort +void bubbleSort(int arr[], int n) +{ + int i, j; + bool swapped; + for (i = 0; i < n - 1; i++) { + swapped = false; + for (j = 0; j < n - i - 1; j++) { + if (arr[j] > arr[j + 1]) { + swap(arr[j], arr[j + 1]); + swapped = true; + } + } + + // If no two elements were swapped + // by inner loop, then break + if (swapped == false) + break; + } +} + +// Function to print an array +void printArray(int arr[], int size) +{ + int i; + for (i = 0; i < size; i++) + cout << " " << arr[i]; +} + +// Driver program to test above functions +int main() +{ + int arr[100000]; + int size; + cout << "Enter the size of the array: "; + cin >> size; + + for (int i = 0; i < size; ++i) { + cin >> arr[i]; + } + bubbleSort(arr, size); + cout << "Sorted array: \n"; + printArray(arr, size); + return 0; +} diff --git a/bubble.exe b/bubble.exe new file mode 100644 index 0000000000000000000000000000000000000000..769f2f63ba37a8b6bd8ef1deb8526511b25191db GIT binary patch literal 46151 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 E7e0j5i~s-t literal 0 HcmV?d00001 diff --git a/challenge.py b/challenge.py new file mode 100644 index 0000000..b1e6222 --- /dev/null +++ b/challenge.py @@ -0,0 +1,19 @@ +import json + +def Pull_req(): + return 10 + +def Round2(round): + if round == 21: + return 10 + + elif round == 22: + #analyse the sorting algo + return 10 + return 0 + +def Round3(round): + if round == 31: + return 10 + return 0 + \ No newline at end of file diff --git a/check.yml b/check.yml new file mode 100644 index 0000000..5c0e9ef --- /dev/null +++ b/check.yml @@ -0,0 +1,70 @@ +name: Check CPP Files + +on: [push] + +jobs: + Check_cpp_files: + + runs-on: ubuntu-latest + + steps: + - name: checkout code + - uses: actions/checkout@v3 + + + + + + + + + + + +using namespace std; + +// An optimized version of Bubble Sort +void bubbleSort(int arr[], int n) +{ + int i, j; + bool swapped; + for (i = 0; i < n - 1; i++) { + swapped = false; + for (j = 0; j < n - i - 1; j++) { + if (arr[j] > arr[j + 1]) { + swap(arr[j], arr[j + 1]); + swapped = true; + } + } + + // If no two elements were swapped + // by inner loop, then break + if (swapped == false) + break; + } +} + +// Function to print an array +void printArray(int arr[], int size) +{ + int i; + for (i = 0; i < size; i++) + cout << " " << arr[i]; +} + +// Driver program to test above functions +int main() +{ + int arr[100000]; + int size; + cout << "Enter the size of the array: "; + cin >> size; + + for (int i = 0; i < size; ++i) { + cin >> arr[i]; + } + bubbleSort(arr, size); + cout << "Sorted array: \n"; + printArray(arr, size); + return 0; +} diff --git a/dbms.py b/dbms.py new file mode 100644 index 0000000..4a32b59 --- /dev/null +++ b/dbms.py @@ -0,0 +1,28 @@ +import redis +from redis.commands.json.path import Path +import json + +r = redis.Redis() + +def updateUserScore(username,round,score): + + if round ==11: + points = 10 + elif round==21: + points = 20 + elif round==22 and score!=0: + points = 30 + elif round==31: + points = 40 + + if round != 11: + data = json.loads(r.get(username)) #deserializes into json format converts into dict + data['score'] = points + data['round'] = round + r.set(username,json.dumps(data)) #converts dict to json and updates the database + + # else: + + return 'success' + + diff --git a/gitQueue.py b/gitQueue.py new file mode 100644 index 0000000..832d3af --- /dev/null +++ b/gitQueue.py @@ -0,0 +1,34 @@ +import json +from rounds import * +from challenge import * +from dbms import updateUserScore + +def addData(request): + request=json.loads(request) + username=request['sender']['login'] + round=Rounds(request) + + status = 'none' + + if round == 11: + score = Pull_req() + status = updateUserScore(username, round, score) + return status + + elif round == 21: + score = Round2(round) + status = updateUserScore(username, round, score) + return status + + elif round == 22: + score = Round2(round) + status = updateUserScore(username, round, score) + return status + + elif round == 21: + score = Round2(round) + status = updateUserScore(username, round, score) + return status + + return status + diff --git a/rounds.py b/rounds.py new file mode 100644 index 0000000..7b819e1 --- /dev/null +++ b/rounds.py @@ -0,0 +1,39 @@ +from flask import Flask +import json,requests + +def riddle_ans(string): + + return str(string.split('-')[1]) + + + +def check_forked(username,repo): + url = f"https;//github.com/{username}/{repo}" #username = glugmvit, repo = yet to be created + response = requests.get(url) + + if response.status_code == 200: + data = response.json() + is_forked = data.get('fork', False) + return is_forked + print("error in check forked") + return False + + + +def Rounds(request): + + if 'forkee' in request.keys(): + return 11 + + elif 'issue' in request.keys(): + riddle_answer=[] + if riddle_ans(str(request['comment']['body'])) in riddle_answer: + return 21 + else: + return 22 #pending {analyse the algo} + + elif check_forked('glugmvit','repo'): + return 31 + + + diff --git a/send_req.py b/send_req.py new file mode 100644 index 0000000..4d43015 --- /dev/null +++ b/send_req.py @@ -0,0 +1,6 @@ +import requests + +url = 'http://127.0.0.1:5000/githubdata' + +r = requests.post(url) +print(r.content) \ No newline at end of file From 8776344406cf0b872b370e1b9bdf6aa0f4baf5e7 Mon Sep 17 00:00:00 2001 From: Yashdeep Sahu <68921231+yashd24@users.noreply.github.com> Date: Thu, 10 Aug 2023 16:51:08 +0530 Subject: [PATCH 2/8] Delete bubble.cpp --- bubble.cpp | 48 ------------------------------------------------ 1 file changed, 48 deletions(-) delete mode 100644 bubble.cpp diff --git a/bubble.cpp b/bubble.cpp deleted file mode 100644 index 42cf55b..0000000 --- a/bubble.cpp +++ /dev/null @@ -1,48 +0,0 @@ -using namespace std; -#include - -// An optimized version of Bubble Sort -void bubbleSort(int arr[], int n) -{ - int i, j; - bool swapped; - for (i = 0; i < n - 1; i++) { - swapped = false; - for (j = 0; j < n - i - 1; j++) { - if (arr[j] > arr[j + 1]) { - swap(arr[j], arr[j + 1]); - swapped = true; - } - } - - // If no two elements were swapped - // by inner loop, then break - if (swapped == false) - break; - } -} - -// Function to print an array -void printArray(int arr[], int size) -{ - int i; - for (i = 0; i < size; i++) - cout << " " << arr[i]; -} - -// Driver program to test above functions -int main() -{ - int arr[100000]; - int size; - cout << "Enter the size of the array: "; - cin >> size; - - for (int i = 0; i < size; ++i) { - cin >> arr[i]; - } - bubbleSort(arr, size); - cout << "Sorted array: \n"; - printArray(arr, size); - return 0; -} From 98867acb8bc91e888d1851e3f1b32f141f60ce9e Mon Sep 17 00:00:00 2001 From: Yashdeep Sahu <68921231+yashd24@users.noreply.github.com> Date: Thu, 10 Aug 2023 16:51:22 +0530 Subject: [PATCH 3/8] Delete bubble.exe --- bubble.exe | Bin 46151 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bubble.exe diff --git a/bubble.exe b/bubble.exe deleted file mode 100644 index 769f2f63ba37a8b6bd8ef1deb8526511b25191db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46151 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 E7e0j5i~s-t From 64ab09e8d75151f113320e2e4231395c9467526c Mon Sep 17 00:00:00 2001 From: Yashdeep Sahu <68921231+yashd24@users.noreply.github.com> Date: Thu, 10 Aug 2023 16:55:43 +0530 Subject: [PATCH 4/8] Add files via upload --- bubble.h | 8 ++++++++ test_bubble.cpp | 28 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 bubble.h create mode 100644 test_bubble.cpp diff --git a/bubble.h b/bubble.h new file mode 100644 index 0000000..a47cbb0 --- /dev/null +++ b/bubble.h @@ -0,0 +1,8 @@ +// bubble.h +#ifndef BUBBLE_H +#define BUBBLE_H + +// Declare the bubbleSort function +void bubbleSort(int arr[], int n); + +#endif diff --git a/test_bubble.cpp b/test_bubble.cpp new file mode 100644 index 0000000..5c962d6 --- /dev/null +++ b/test_bubble.cpp @@ -0,0 +1,28 @@ +// test_bubble.cpp +#include +#include "bubble.h" + +int main() { + int arr[] = {5, 2, 8, 12, 3}; + int n = sizeof(arr) / sizeof(arr[0]); + + // Call your bubble sort function + bubbleSort(arr, n); + + // Verify the sorted array + bool sorted = true; + for (int i = 1; i < n; ++i) { + if (arr[i] < arr[i - 1]) { + sorted = false; + break; + } + } + + if (sorted) { + std::cout << "Test passed: Array is sorted." << std::endl; + return 0; + } else { + std::cerr << "Test failed: Array is not sorted." << std::endl; + return 1; + } +} From 425f6647d871c5b16fb635d7d146469107ed4c86 Mon Sep 17 00:00:00 2001 From: Yashdeep Sahu <68921231+yashd24@users.noreply.github.com> Date: Thu, 10 Aug 2023 16:57:08 +0530 Subject: [PATCH 5/8] Delete .github directory --- .github/workflows | 1 - 1 file changed, 1 deletion(-) delete mode 160000 .github/workflows diff --git a/.github/workflows b/.github/workflows deleted file mode 160000 index 5d85678..0000000 --- a/.github/workflows +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5d85678ecd308a8f57edeaeda595095b62c1f0c7 From ec69d8844e721027a0925274624a5178ba8a0fdc Mon Sep 17 00:00:00 2001 From: Yashdeep Sahu <68921231+yashd24@users.noreply.github.com> Date: Thu, 10 Aug 2023 16:59:10 +0530 Subject: [PATCH 6/8] Create checkcpp.yml --- .github/workflows/checkcpp.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/checkcpp.yml diff --git a/.github/workflows/checkcpp.yml b/.github/workflows/checkcpp.yml new file mode 100644 index 0000000..6f13b6a --- /dev/null +++ b/.github/workflows/checkcpp.yml @@ -0,0 +1,24 @@ +name: C/C++ CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + Run_cpp: + + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v3 + + - name: Setup Compiler + run: sudo apt-get install g++ + + - name: Compile and Run Tests + run: | + g++ bubble.cpp test_bubble.cpp -o program + ./program From 3ab3a712babc9b08f91e5e3d089544afc228e065 Mon Sep 17 00:00:00 2001 From: Yashdeep Sahu <68921231+yashd24@users.noreply.github.com> Date: Thu, 10 Aug 2023 17:26:03 +0530 Subject: [PATCH 7/8] Update checkcpp.yml --- .github/workflows/checkcpp.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/checkcpp.yml b/.github/workflows/checkcpp.yml index 6f13b6a..ee6f225 100644 --- a/.github/workflows/checkcpp.yml +++ b/.github/workflows/checkcpp.yml @@ -2,9 +2,15 @@ name: C/C++ CI on: push: - branches: [ "main" ] + paths: + bubble.cpp + bubble.h + test_bubble.cpp pull_request: - branches: [ "main" ] + paths: + bubble.cpp + bubble.h + test_bubble.cpp jobs: Run_cpp: @@ -22,3 +28,11 @@ jobs: run: | g++ bubble.cpp test_bubble.cpp -o program ./program + - name: Report Test Status + run: | + if [[ $? -eq 0 ]]; then + echo "Tests passed." + else + echo "Tests failed." + exit 1 + fi From b20b89b4f5fc0beef0acf95085f673dfd298c757 Mon Sep 17 00:00:00 2001 From: Yashdeep Sahu <68921231+yashd24@users.noreply.github.com> Date: Thu, 10 Aug 2023 17:26:44 +0530 Subject: [PATCH 8/8] Delete check.yml --- check.yml | 70 ------------------------------------------------------- 1 file changed, 70 deletions(-) delete mode 100644 check.yml diff --git a/check.yml b/check.yml deleted file mode 100644 index 5c0e9ef..0000000 --- a/check.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: Check CPP Files - -on: [push] - -jobs: - Check_cpp_files: - - runs-on: ubuntu-latest - - steps: - - name: checkout code - - uses: actions/checkout@v3 - - - - - - - - - - - -using namespace std; - -// An optimized version of Bubble Sort -void bubbleSort(int arr[], int n) -{ - int i, j; - bool swapped; - for (i = 0; i < n - 1; i++) { - swapped = false; - for (j = 0; j < n - i - 1; j++) { - if (arr[j] > arr[j + 1]) { - swap(arr[j], arr[j + 1]); - swapped = true; - } - } - - // If no two elements were swapped - // by inner loop, then break - if (swapped == false) - break; - } -} - -// Function to print an array -void printArray(int arr[], int size) -{ - int i; - for (i = 0; i < size; i++) - cout << " " << arr[i]; -} - -// Driver program to test above functions -int main() -{ - int arr[100000]; - int size; - cout << "Enter the size of the array: "; - cin >> size; - - for (int i = 0; i < size; ++i) { - cin >> arr[i]; - } - bubbleSort(arr, size); - cout << "Sorted array: \n"; - printArray(arr, size); - return 0; -}