Skip to content

Commit

Permalink
refactor and add test suite
Browse files Browse the repository at this point in the history
  • Loading branch information
nathandloria committed Apr 13, 2022
1 parent 45bd1c1 commit f00b6e2
Show file tree
Hide file tree
Showing 54 changed files with 1,368 additions and 748 deletions.
24 changes: 14 additions & 10 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Lint and Test
name: lintandtest

on: [push, pull_request]

Expand All @@ -18,18 +18,20 @@ jobs:
uses: Gr1N/setup-poetry@v7
- name: Install dependencies
run: poetry install
- name: Run black
- name: Run linters
if: always()
run: poetry run task black
- name: Run flake8
if: always()
run: poetry run task flake8
- name: Run pylint
if: always()
run: poetry run task pylint
run: poetry run task lint

test:
name: Test
runs-on: ubuntu-latest
env:
DRBX_APP_KEY: ${{ secrets.DRBX_APP_KEY }}
DRBX_APP_SECRET: ${{ secrets.DRBX_APP_SECRET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
OAUTH2_REFRESH_TOKEN: ${{ secrets.OAUTH2_REFRESH_TOKEN }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
Expand All @@ -43,4 +45,6 @@ jobs:
- name: Install dependencies
run: poetry install
- name: Execute tests
run: poetry run task test
run: poetry run task test
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
12 changes: 10 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
# gator-computational-cloud
A lightweight framework for the execution of scientific workflows with big data
# GCC

[![codecov](https://codecov.io/gh/Nathandloria/gcc-test/branch/main/graph/badge.svg?token=GQ4AWLJ8KW)](https://codecov.io/gh/Nathandloria/gcc-test)
[![buildstatus](https://github.com/Nathandloria/gcc-test/workflows/lintandtest/badge.svg)](https://github.com/Nathandloria/gcc-test/actions)

A lightweight framework for the execution of scientific workflows

## Overview

A scientific workflow is a cluster of nodes that work together to accomplish an end goal. When executing a workflow, especially one associated with big data, there is often a massive amount of data and time overhead to work around. Because of this, there is a need for efficient and easy-to-use software that allows for the execution of workflows on obscure computing resources. This new model mitigates the need for massive infrastructure investments by the party that is executing a workflow. Additionally, the demand for efficient task scheduling solutions is ever-increasing. All of these are issues that can be tackled with the proper implementation of a grid computing system. This grid computing approach combined with efficient task scheduling is the focus of my project: Gator Computational Cloud (GCC). GCC is a lightweight web framework that utilizes a generic task scheduling algorithm to schedule jobs in a cloud environment. This framework intelligently manages dependencies and takes a multi-threaded execution approach to increase efficiency. To execute nodes, GCC takes advantage of the Amazon AWS API to provision virtual machines. Once provisioned, the tool completes the execution and transfers any dependencies to their corresponding VM in real-time utilizing an intelligent socket infrastructure. The goal of the project is to provide a lightweight and user-friendly environment for workflow execution, while also ensuring a powerful and efficient backend that completes a user’s workflow with ease. To achieve this, some preliminary experimentation has taken place to ensure the effectiveness of the tool.
68 changes: 0 additions & 68 deletions backend/exec/Drbx.py

This file was deleted.

71 changes: 0 additions & 71 deletions backend/exec/Ec2.py

This file was deleted.

Loading

0 comments on commit f00b6e2

Please sign in to comment.