Skip to content

Commit 013c53d

Browse files
authored
v1.5.0 Release (#450)
Release v1.5.0
1 parent 0c95f89 commit 013c53d

File tree

178 files changed

+30385
-59231
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+30385
-59231
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Typescript Build
2+
on: [push, pull_request]
3+
jobs:
4+
build:
5+
name: Build
6+
runs-on: ubuntu-latest
7+
strategy:
8+
matrix:
9+
node-version: [16]
10+
steps:
11+
- uses: actions/checkout@v3
12+
- uses: actions/setup-node@v3
13+
with:
14+
node-version: ${{ matrix.node-version }}
15+
cache: npm
16+
cache-dependency-path: source/infrastructure/package-lock.json
17+
- name: npm build
18+
working-directory: source/infrastructure
19+
run: |
20+
npm ci
21+
npm run build
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Workflow that runs cdk-nag via cdk synth
2+
name: CDK Nag
3+
4+
on: [push, pull_request]
5+
6+
jobs:
7+
cdk-nag:
8+
name: CDK Nag Check
9+
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
node-version: [16.x]
13+
module: [instance-scheduler, pipeline]
14+
steps:
15+
- uses: actions/checkout@v3
16+
- uses: actions/setup-node@v3
17+
with:
18+
node-version: ${{ matrix.node-version }}
19+
- name: CDK Synth
20+
working-directory: source/infrastructure
21+
run: |
22+
npm ci
23+
cd ${{ matrix.module }}
24+
npx cdk synth
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: CodeQL Security Scans
2+
3+
permissions:
4+
actions: read
5+
contents: read
6+
security-events: write
7+
8+
on: [push, pull_request]
9+
10+
jobs:
11+
codeql:
12+
name: CodeQL Check
13+
runs-on: ubuntu-latest
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
language: [ javascript, typescript, python ]
18+
steps:
19+
- uses: actions/checkout@v3
20+
- uses: github/codeql-action/init@v2
21+
with:
22+
languages: ${{ matrix.language }}
23+
- uses: github/codeql-action/analyze@v2
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Linting
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
ESLint:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
fail-fast: false
10+
steps:
11+
- uses: actions/checkout@v3
12+
- name: setup
13+
uses: actions/setup-python@v4
14+
with:
15+
python-version: 3.9
16+
cache: 'pip'
17+
cache-dependency-path: 'source/app/pyproject.toml'
18+
- name: Install Tox and any other packages
19+
run: |
20+
pip install --upgrade pip
21+
pip install tox
22+
- name: Cache tox and mypy
23+
uses: actions/cache@v3
24+
with:
25+
path: |
26+
.tox
27+
.mypy_cache
28+
key: ESLint-tox-${{ hashFiles('pyproject.toml') }}-${{ hashFiles('tox.ini') }}-${{ hashFiles('.github/workflows/code-style-workflow.yml') }}
29+
- name: Run ESLint
30+
run: tox -e eslint
31+
Black:
32+
runs-on: ubuntu-latest
33+
strategy:
34+
fail-fast: false
35+
steps:
36+
- uses: actions/checkout@v3
37+
- name: setup
38+
uses: actions/setup-python@v4
39+
with:
40+
python-version: 3.9
41+
cache: 'pip'
42+
cache-dependency-path: 'source/app/pyproject.toml'
43+
- name: Install Tox and any other packages
44+
run: |
45+
pip install --upgrade pip
46+
pip install tox
47+
- name: Cache tox and mypy
48+
uses: actions/cache@v3
49+
with:
50+
path: |
51+
.tox
52+
.mypy_cache
53+
key: Black-tox-${{ hashFiles('pyproject.toml') }}-${{ hashFiles('tox.ini') }}-${{ hashFiles('.github/workflows/code-style-workflow.yml') }}
54+
- name: Run Black
55+
run: tox -e black

.github/workflows/pipeline-workflow.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Pipeline Workflow
1+
name: Internal Pipeline
22

33
env:
44
REGION: us-east-1
@@ -23,4 +23,4 @@ jobs:
2323
- name: Run CodeBuild
2424
uses: aws-actions/aws-codebuild-run-build@v1
2525
with:
26-
project-name: ${{ secrets.DISPATCHER_CODEBUILD_PROJECT_NAME }}
26+
project-name: ${{ secrets.DISPATCHER_CODEBUILD_PROJECT_NAME }}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Unit Tests
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
8+
runs-on: ${{ matrix.os }}
9+
strategy:
10+
fail-fast: false
11+
matrix:
12+
os: [ubuntu-latest]
13+
python: ["3.9", "3.10", "3.11"]
14+
15+
steps:
16+
- uses: actions/checkout@v3
17+
- name: ${{ matrix.os }} ${{ matrix.python }}
18+
uses: actions/setup-python@v4
19+
with:
20+
python-version: ${{ matrix.python }}
21+
cache: 'pip'
22+
cache-dependency-path: 'source/app/pyproject.toml'
23+
- name: Install Tox and any other packages
24+
run: |
25+
pip install --upgrade pip
26+
pip install tox
27+
pip install tox-gh-actions
28+
- name: Cache tox and mypy
29+
uses: actions/cache@v3
30+
with:
31+
path: |
32+
.tox
33+
.mypy_cache
34+
key: ${{ matrix.os }}-${{ matrix.python}}-tox-${{ hashFiles('pyproject.toml') }}-${{ hashFiles('tox.ini') }}-${{ hashFiles('.github/workflows/unit-test-workflow.yml') }}
35+
- name: Run Tox
36+
run: tox

.github/workflows/pull-request-workflow.yml renamed to .github/workflows/viperlight-workflow.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
name: Pull Request Workflow
1+
name: Viperlight
22

3-
on:
4-
pull_request:
5-
types: [opened, edited, reopened, synchronize]
3+
on: [push, pull_request]
64

75
jobs:
86
pull-request-job:
@@ -20,4 +18,4 @@ jobs:
2018
echo "Content scanning utility installation complete `date`"
2119
echo "Starting content scanning `date` in `pwd`"
2220
../viperlight/bin/viperlight scan -m files-contents -m files-aws -m files-binary -m files-entropy -m files-secrets
23-
echo "Completed content scanning `date`"
21+
echo "Completed content scanning `date`"

.gitignore

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ var/
2929
.installed.cfg
3030
*.egg
3131

32+
#PyCharm/Webstorm
33+
.idea/
34+
3235
# PyInstaller
3336
# Usually these files are written by a python script from a template
3437
# before PyInstaller builds the exe, so as to inject date/other infos into it.
@@ -49,6 +52,8 @@ nosetests.xml
4952
coverage.xml
5053
*,cover
5154
.hypothesis/
55+
deployment/coverage-reports/
56+
deployment/test-reports/
5257

5358
# Translations
5459
*.mo
@@ -84,6 +89,7 @@ celerybeat-schedule
8489
.env
8590

8691
# virtualenv
92+
.venv/
8793
venv/
8894
ENV/
8995

@@ -95,9 +101,11 @@ ENV/
95101

96102
#cdk
97103
*cdk.out*
98-
*.d.ts
99104
*.js
100105

106+
# config
107+
!.eslintrc.js
108+
101109
#ignore these in the deployment folder
102110
*regional-s3-assets*
103111
*staging*
@@ -111,7 +119,6 @@ deployment/open-source
111119
deployment/dist
112120
source/deploy
113121

114-
.env
115122
source/code/sample_events
116123
.vscode
117124
__pycache__

.viperlightignore

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,7 @@ Config
33

44
^docs/
55
^viperlight/
6-
source/lambda/schedulers/instance_scheduler.py:133
7-
source/lambda/schedulers/instance_scheduler.py:134
8-
source/lambda/requesthandlers/setup_demo_data.py:64
6+
source/app/instance_scheduler/requesthandlers/setup_demo_data.py:55
97
deployment/buildspecs/mainline-s3-spec.yml:20
10-
source/lambda/models/rds/2014-10-31/service-2.json:152
11-
source/lambda/models/ssm/2014-11-06/service-2.json:3240
12-
source/lambda/tests/cloudformation_util.py:26
13-
source/lambda/tests/cloudformation_util.py:27
14-
source/lambda/tests/rds_util.py:27
15-
source/lambda/tests/rds_util.py:28
16-
source/lambda/tests/ec2_util.py:27
17-
source/lambda/tests/ec2_util.py:28
188
CODE_OF_CONDUCT.md:4
199
CONTRIBUTING.md:51
20-
source/package-lock.json:6526
21-
source/package-lock.json:3672
22-
source/package-lock.json:3510
23-
source/package-lock.json:3667
24-
source/test/aws-instance-scheduler-stack.test.ts:25
25-
source/test/aws-instance-scheduler-remote-stack.test.ts:24
26-
source/lambda/models/rds/2014-10-31/service-2.json:4873

CHANGELOG.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
# Change Log
22
All notable changes to this project will be documented in this file.
33

4-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
4+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
5+
6+
## [1.5.0] - 2023-04-27
7+
### Added
8+
- Enable solution to support deployment using organization id.
9+
- Lambda code is organized with tox.
10+
- Development/e2e testing pipeline included under source/infrastructure/pipeline capable of automatically deploying and testing solution.
11+
- App Registry integration
12+
### Fixed
13+
- Boto Retry module could cause unintended high lambda utilization in case of API failures.
14+
- Cross account scheduling no longer requires IAM role name but only account id.
615

716
## [1.4.2] - 2023-01-11
817
### Fixed

0 commit comments

Comments
 (0)