Skip to content

Commit

Permalink
Merge pull request #3 from aplura/next
Browse files Browse the repository at this point in the history
Testing GitHub Action Workflow for main
  • Loading branch information
alacercogitatus authored Jun 7, 2024
2 parents 446bb46 + 7986a4d commit 1c3d17a
Show file tree
Hide file tree
Showing 51 changed files with 178 additions and 76 deletions.
4 changes: 4 additions & 0 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@ tag = True
[bumpversion:file:geese/constants/__init__.py]

[bumpversion:file:geese/version.py]

[bumpversion:file:tests/tests.py]

[bumpversion:file:pyproject.toml]
1 change: 1 addition & 0 deletions .github/workflows/.readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Placeholder to create Folder in Github
40 changes: 40 additions & 0 deletions .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Create Release

on:
push:
branches:
- main

jobs:
create-release:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: [ "3.10", "3.11" ]
steps:
- uses: actions/checkout@v4
- name: 'Get Version'
id: version
uses: 'cloudposse/github-action-jq@main'
with:
input: 'properties.json'
# JQ query string
script: '.version'
# Output raw strings, not JSON texts
raw-output: true
- name: Create Tag
uses: actions/github-script@v3
env:
TAG: ${{ steps.version.outputs.output }}
with:
github-token: ${{ github.token }}
script: |
github.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: "refs/tags/${{ steps.set-tag.outputs.tag_name }}",
sha: context.sha
})
- name: Build Package
run: python -m build
38 changes: 38 additions & 0 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Python package

on:
push:
branches: [ "next" ]

jobs:
build:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11"]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest build
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 ./geese --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 ./geese --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest tests/tests.py --doctest-modules --junitxml=junit/test-results.xml
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
__pycache__/
build.sh
*-README.md
.idea/*
*.iml
Expand All @@ -9,11 +10,11 @@ dist/*
logs/
node_modules/
yarn.lock
build/
config.yaml
cribl/
sample.sh
*.whl
lib/cribl_python_api_wrapper-1.1.0.tar.gz
tuning.yaml
geese/README.md
geese/LICENSE.txt
geese/LICENSE.txt
File renamed without changes.
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,15 @@ Expected order of operations:
3. Simulate the configs to check for and resolve conflicts.
4. Import the configs required.
5. Commit and deploy the groups required.
6. Migrate the workers <- `WORK IN PROGRESS` AND `INCOMPLETE`
6. Migrate the workers <- `WORK IN PROGRESS` AND `EXPERIMENTAL`

## Known Issues

## Release Notes

### v1.1.2

* Initial Release
## LICENSE

The MIT License (MIT)
Expand Down
7 changes: 0 additions & 7 deletions build.sh

This file was deleted.

1 change: 0 additions & 1 deletion geese/KennyLoggins.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,3 @@ def get_logger(file_name, root_folder=os.getcwd(), log_level=logger.INFO):
if not len(_log.handlers):
_log.addHandler(f_handle)
return _log

6 changes: 1 addition & 5 deletions geese/commands/commit.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
import json
import os
import re

import yaml
from yaml import YAMLError, safe_dump
from yaml import YAMLError
import geese.constants.exit_codes as ec
import argparse
import sys
Expand Down
7 changes: 2 additions & 5 deletions geese/commands/export.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
import json
import os

from yaml import YAMLError, safe_dump
import geese.constants.exit_codes as ec
import argparse
import sys

from geese.utils.operations import validate, load_tuning, validate_knowledge
from geese.utils.operations import load_tuning, validate_knowledge
from geese.constants.common_arguments import add_arguments
from geese.constants.configs import colors, export_cmd, tuning, import_cmd

from geese.constants.configs import colors, export_cmd, tuning
# Check for a "get diff" api call


Expand Down
2 changes: 1 addition & 1 deletion geese/commands/import.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import json
import os
import yaml
from yaml import YAMLError, safe_dump
from yaml import YAMLError
import geese.constants.exit_codes as ec
import argparse
import sys
Expand Down
8 changes: 2 additions & 6 deletions geese/commands/migrate.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
import json
import os
import re

import yaml
from yaml import YAMLError, safe_dump
from yaml import YAMLError
import geese.constants.exit_codes as ec
import argparse
import sys
from geese.constants.common_arguments import add_arguments
from geese.constants.configs import colors
from geese.knowledge import Versioning, Worker
from geese.knowledge import Worker


def _migrate_workers(self, args):
Expand Down
1 change: 0 additions & 1 deletion geese/commands/simulate.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import json
import os

import yaml
from yaml import YAMLError, safe_dump
import geese.constants.exit_codes as ec
Expand Down
2 changes: 1 addition & 1 deletion geese/constants/configs.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@
}
tuning = {
"file": None
}
}
2 changes: 1 addition & 1 deletion geese/goose.py
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ def perform_import(self, items):
group=group,
item=individual_item)
elif func not in destination_groups_only:
self._display(f"\t\tNo Groups", colors["info"])
self._display("\t\tNo Groups", colors["info"])
import_result = self._perform_operation(self.objects[func], "import", self.destination,
item=individual_item)
if "worker_groups" in self.destination:
Expand Down
1 change: 0 additions & 1 deletion geese/knowledge/appscope_configs.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import json
import os
from deepdiff import DeepDiff
from geese.knowledge.base import BaseKnowledge

Expand Down
2 changes: 1 addition & 1 deletion geese/knowledge/auth_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def __init__(self, leader, args=None, logger=None, group=None, fleet=None, **kwa
self.group = None
if group is not None or fleet is not None:
self.group = fleet if fleet is not None else group
self.endpoint = f"system/settings/auth"
self.endpoint = "system/settings/auth"

def export(self):
action = f"export_{self.obj_type}"
Expand Down
2 changes: 0 additions & 2 deletions geese/knowledge/authentication.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import json
from deepdiff import DeepDiff
from geese.knowledge.base import BaseKnowledge


Expand Down
4 changes: 1 addition & 3 deletions geese/knowledge/base.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import os
import sys

import requests
import json
from copy import deepcopy
from deepdiff import DeepDiff
from termcolor import colored

Expand Down Expand Up @@ -244,7 +242,7 @@ def _update_item(self, action, item, id_field="id", changes=None, update_on_crea
for m in msg:
t.append(f'{m["keyword"]}:\n\t\t{m["message"]}\n\t\t{m["params"]}\n\t\t{m["schemaPath"]}')
msg = "\n\t".join(t)
except Exception as e:
except:
msg = result.text
self._display(f"\t{item[id_field]}: Create failed. \n\t{msg}", self.colors.get("error", "red"))
changes["updated"] = {"status": "create_failed", "data": item, "error": result.text}
Expand Down
1 change: 0 additions & 1 deletion geese/knowledge/collectors.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import json
import os
from deepdiff import DeepDiff
from geese.knowledge.base import BaseKnowledge

Expand Down
1 change: 0 additions & 1 deletion geese/knowledge/database_connections.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import json
import os
from deepdiff import DeepDiff
from geese.knowledge.base import BaseKnowledge

Expand Down
1 change: 0 additions & 1 deletion geese/knowledge/event_breaker_rules.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import json
import os
from deepdiff import DeepDiff
from geese.knowledge.base import BaseKnowledge

Expand Down
3 changes: 1 addition & 2 deletions geese/knowledge/fleet_mappings.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import json
import os
from deepdiff import DeepDiff
from geese.knowledge.base import BaseKnowledge

Expand All @@ -13,7 +12,7 @@ def __init__(self, leader, args=None, logger=None, group=None, fleet=None, **kwa
self.group = None
if group is not None or fleet is not None:
self.group = fleet if fleet is not None else group
self.endpoint = f"fleet-mappings"
self.endpoint = "fleet-mappings"

def export(self):
action = f"export_{self.obj_type}"
Expand Down
1 change: 0 additions & 1 deletion geese/knowledge/global_variables.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import json
import os
from deepdiff import DeepDiff
from geese.knowledge.base import BaseKnowledge

Expand Down
1 change: 0 additions & 1 deletion geese/knowledge/grokfiles.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import json
import os
from deepdiff import DeepDiff
from geese.knowledge.base import BaseKnowledge

Expand Down
5 changes: 2 additions & 3 deletions geese/knowledge/groups.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import json
import os
from deepdiff import DeepDiff
from geese.knowledge.base import BaseKnowledge

Expand All @@ -9,7 +8,7 @@ def __init__(self, leader, args=None, logger=None, group=None, fleet=None, produ
super().__init__(leader, args, logger, **kwargs)
self.obj_type = "groups"
self.default_types = []
self.endpoint = f"products/{product}/groups" if f'{leader["is_cloud"]}' == "true" else f"master/groups"
self.endpoint = f"products/{product}/groups" if f'{leader["is_cloud"]}' == "true" else "master/groups"
self.group = None
self.supports_groups = False

Expand Down Expand Up @@ -82,7 +81,7 @@ def workers(self, group=None):
payload = {
"filterExp": f'group=="{group}" && info.cribl.distMode=="worker"',
}
data = self.get(endpoint=f"master/workers", payload=payload)
data = self.get(endpoint="master/workers", payload=payload)
if data.status_code == 200 and data.json():
items = [p for p in data.json()["items"] if p["id"] not in self.default_types or self.args.keep_defaults
and p["group"] == group]
Expand Down
1 change: 0 additions & 1 deletion geese/knowledge/inputs.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import json
import os
from deepdiff import DeepDiff
from geese.knowledge.base import BaseKnowledge

Expand Down
2 changes: 1 addition & 1 deletion geese/knowledge/keys.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def __init__(self, leader, args=None, logger=None, group=None, fleet=None, **kwa
self.group = None
if group is not None or fleet is not None:
self.group = fleet if fleet is not None else group
self.endpoint = f"system/keys"
self.endpoint = "system/keys"

def export(self):
action = f"export_{self.obj_type}"
Expand Down
2 changes: 1 addition & 1 deletion geese/knowledge/lookups.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def __init__(self, leader, args=None, logger=None, group=None, fleet=None, **kwa
self.group = None
if group is not None or fleet is not None:
self.group = fleet if fleet is not None else group
self.endpoint = f"system/lookups"
self.endpoint = "system/lookups"
except Exception as e:
self._display_error("Unhandled INIT Exception", e)

Expand Down
3 changes: 1 addition & 2 deletions geese/knowledge/mappings.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import json
import os
from deepdiff import DeepDiff
from geese.knowledge.base import BaseKnowledge

Expand All @@ -13,7 +12,7 @@ def __init__(self, leader, args=None, logger=None, group=None, fleet=None, **kwa
self.group = None
if group is not None or fleet is not None:
self.group = fleet if fleet is not None else group
self.endpoint = f"mappings"
self.endpoint = "mappings"

def export(self):
action = f"export_{self.obj_type}"
Expand Down
3 changes: 1 addition & 2 deletions geese/knowledge/notification_targets.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import json
import os
from deepdiff import DeepDiff
from geese.knowledge.base import BaseKnowledge

Expand All @@ -13,7 +12,7 @@ def __init__(self, leader, args=None, logger=None, group=None, fleet=None, **kwa
self.group = None
if group is not None or fleet is not None:
self.group = fleet if fleet is not None else group
self.endpoint = f"notification-targets"
self.endpoint = "notification-targets"

def export(self):
action = f"export_{self.obj_type}"
Expand Down
Loading

0 comments on commit 1c3d17a

Please sign in to comment.