Skip to content

Commit

Permalink
chore(ci/cd): add GitHub workflows (#152)
Browse files Browse the repository at this point in the history
* feat(dcm floodlight): add iframe support (#80)

* feat(dcm floodlight): add iframe support

* incorporate webhook regex changes

* add testcase for webhook spaced urls

Co-authored-by: yashasvibajpai <[email protected]>

* merge confilicts

* merge confilicts

* onboarding Gainsight PX source

* merge gainsight px source

* merge gainsight px source

* add testcase

* feat: hotfix 1.0.9 (#100)

* fix: singer salesforce new version (#89)

* fix: singer salesforce new version

* fix: new version

* fix: revert version

* feat: pump version

* remove campaign manager from release list

* feat: hotfix 1.1.1 (#124)

* chore: bumps versions of a few singer source (#123)
singer-salesforce: v4.0.2
singer-sendgrid: v1.4
singer-google-search-console: v2.0.3-alpha.10

* chore: bumps version

* fix: add coming soon and remove from audience (#139)

Co-authored-by: Anant <[email protected]>

* chore: adding github actions

* chore: adding test branch

* chore: deleting npm ci from test cases gactions

* chore: putting npm ci back

* chore: doing npm i

* chore: removing npm run build --if-present

* chore: edited the test cases action

* chore: adding rest of the ghactions

* chore: review comments addressed

* chore: for QA purpose, will remove later

* chore: for QA purpose

* chore: review comments addressed

* chore: added standard-version in dev dependencies

* chore: added source api deploy file

* chore: change coverage reports directory

* chore: upgrade all the dependencies to the latest version

* chore: relocate tests to the standard directory

* chore: relocate configs to the source directory

* fix: use updated paths in migration script

* chore: add required repo files

* chore: delete .version file

* chore: remove unwanted dependency

* fix: schema files path in validator

* chore: rename validator file

* chore: revamp exports

* chore: add nvmrc file

* chore: add versionrc file

* chore: add several dev tools

* chore: fix formatting and linting issues

* chore: add lint-staged to pre-commit and fix check:lint script

* refactor: revamp test script

* fix: format script in package.json

* chore(release): 1.3.0

* Revert "chore(release): 1.3.0"

This reverts commit f74b0ab.

* fix: revamped github workflows

* chore: add codeowners file

* chore: add github templates

* refactor: format github workflows

* refactor: relocate latest configuration files

* chore: merge latest changes from parent branch

* fix: remove redundant case for handling errors

* feat: add support for sources validation and more test cases

* chore: set the coverage thresholds

* fix: syntax issue in housekeeping workflow

* fix: convert init method to async

* chore: resolve lint issues

* chore: add eslint to lint-stage config

* chore: add fix option to the eslint command

* chore: merge latest changes from parent branch

* chore: minor edits in github actions

* fix: rename files with standard naming convention

* fix: workflow issues

* fix: update triggers for the workflows

* fix: issues in ghactions post test

* chore: adding automatic versioning for the hotfix branches

* chore: adding the main branch in the if condition for staging

* chore: adding action to delete the hotfix base branch as well

* fix: string formatting syntax

* fix: remove eslint validation for now

Co-authored-by: Gauravudia <[email protected]>
Co-authored-by: yashasvibajpai <[email protected]>
Co-authored-by: a-rampalli <[email protected]>
Co-authored-by: Anant <[email protected]>
Co-authored-by: aashishmalik <[email protected]>
Co-authored-by: Alexandros Milaios <[email protected]>
Co-authored-by: ItsSudip <[email protected]>
Co-authored-by: Sudip Paul <[email protected]>
Co-authored-by: Debanjan Ganguly <[email protected]>
Co-authored-by: Anant Jain <[email protected]>
Co-authored-by: saikumarrs <[email protected]>
Co-authored-by: Sai Kumar Battinoju <[email protected]>
  • Loading branch information
13 people authored Jan 9, 2023
1 parent c052a6d commit bbd44b5
Show file tree
Hide file tree
Showing 2,235 changed files with 65,827 additions and 43,223 deletions.
33 changes: 33 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"presets": [
[
"@babel/env",
{
"corejs": "3.6",
"useBuiltIns": "entry"
}
]
],
"plugins": [
[
"@babel/plugin-proposal-class-properties",
{
"loose": true
}
],
[
"@babel/plugin-proposal-private-property-in-object",
{
"loose": true
}
],
[
"@babel/plugin-proposal-private-methods",
{
"loose": true
}
],
["@babel/plugin-transform-arrow-functions"],
["@babel/plugin-transform-object-assign"]
]
}
6 changes: 6 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.husky/
dist/
node_modules/
reports/
*.md
*.d.ts
43 changes: 43 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"env": {
"node": true,
"es2021": true,
"jest": true
},
"extends": [
"airbnb-base",
"prettier",
"plugin:json/recommended",
"plugin:@typescript-eslint/recommended"
],
"plugins": ["@typescript-eslint", "unicorn"],
"parser": "@typescript-eslint/parser",
"globals": {},
"parserOptions": {
"ecmaVersion": 12,
"sourceType": "module"
},
"rules": {
"import/prefer-default-export": "off",
"unicorn/filename-case": [
"error",
{ "cases": { "camelCase": true, "pascalCase": true, "kebabCase": true } }
],
"unicorn/no-instanceof-array": "error",
"unicorn/no-static-only-class": "error",
"unicorn/consistent-destructuring": "error",
"unicorn/better-regex": "error",
"unicorn/no-for-loop": "error",
"unicorn/prefer-array-some": "error",
"unicorn/explicit-length-check": "error",
"unicorn/prefer-array-find": "error",
"unicorn/no-lonely-if": "error",
"unicorn/prefer-includes": "error",
"unicorn/prefer-array-flat-map": "error",
"unicorn/no-useless-spread": "error",
"unicorn/no-useless-length-check": "error",
"unicorn/prefer-export-from": "error",
"import/no-unresolved": "off",
"import/extensions": "off"
}
}
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Bug report
about: Create a report to help us improve
title: '[ISSUE]'
labels: bug
assignees: ''
---

**Describe the issue**
Enter a clear and concise description of what the bug/issue is.

**To Reproduce**
Mention the steps to reproduce the behavior that causes the bug/issue:

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Required information (please complete the following information):**

- Package version: [e.g., v0.1.1]

**Additional context**
Add any other context about the problem here.
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Feature Request
about: Suggest an idea for this project
title: '[ENHANCEMENT]'
labels: enhancement
assignees: ''
---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
20 changes: 20 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## Description of the change

< Description >

## Checklists

### Development

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] The code changed/added as part of this pull request has been covered with tests
- [ ] All tests related to the changed code pass in development

### Code review

- [ ] This pull request has a descriptive title and information useful to a reviewer. There may be a screenshot or screencast attached
- [ ] Changes have been reviewed by at least one other engineer
- [ ] Issue from task tracker has a link to this pull request
16 changes: 16 additions & 0 deletions .github/workflows/check-pr-title.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Check PR Title

on:
pull_request:
types: ['opened', 'reopened', 'edited', 'synchronize']

jobs:
check_pr_title:
name: Check PR Title
runs-on: ubuntu-latest
steps:
- name: Checkout Source Branch
uses: actions/checkout@v3

- name: Check PR Title
uses: rudderlabs/[email protected]
50 changes: 50 additions & 0 deletions .github/workflows/create-hotfix-branch.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Create New Hotfix Branch

on:
workflow_dispatch:

jobs:
create-branch:
name: Create New Branch
runs-on: ubuntu-latest

if: github.ref == 'refs/heads/main'
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
cache: 'npm'

# In order to make a commit, we need to initialize a user.
# You may choose to write something less generic here if you want, it doesn't matter functionality wise.
- name: Initialize Mandatory Git Config
run: |
git config user.name "GitHub Actions"
git config user.email [email protected]
- name: Create hotfix Branch
id: create-hotfix-branch
env:
HUSKY: 0
run: |
source_branch_name=${GITHUB_REF##*/}
git fetch origin main --depth=1
git merge origin/main
current_version=$(jq -r .version package.json)
npm version patch --no-git-tag-version
new_version=$(jq -r .version package.json)
git reset --hard
branch_name="hotfix/${new_version}"
echo "New hotfix branch name is $branch_name"
git checkout -b "$branch_name"
git push --set-upstream origin "$branch_name"
echo "::set-output name=source_branch_name::$source_branch_name"
echo "::set-output name=branch_name::$branch_name"
68 changes: 68 additions & 0 deletions .github/workflows/deploy-to-dev.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Deploy Configurations To Development DB

on:
workflow_dispatch:
pull_request:
types:
- closed
branches:
- develop

jobs:
deploy:
runs-on: ubuntu-latest

# Either triggered from develop branch or merged pull requests
if: github.event.pull_request.merged == true || github.ref == 'refs/heads/develop'
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
cache: 'npm'

- name: Install Dependencies
env:
HUSKY: 0
run: |
npm ci
- name: Execute Unit Tests
env:
HUSKY: 0
run: |
npm run test
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.9.13'

- name: Display Python Version
run: |
which python
python -c "import sys; print(sys.version)"
- name: Install Python Dependencies
run: python -m pip install --upgrade pip requests jsondiff

- name: Display Working Directory Files
run: |
echo current directory
pwd
ls -a
- name: Display Current Package Version
run: echo $(jq -r .version package.json)

- name: Deploy To Development DB
env:
API_USER: ${{secrets.DEV_USERNAME}}
API_PASSWORD: ${{secrets.DEV_PASSWORD}}
run: |
python scripts/deployToDB.py https://api.dev.rudderlabs.com
69 changes: 69 additions & 0 deletions .github/workflows/deploy-to-prod.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Deploy Configurations To Production DB

on:
workflow_dispatch:
pull_request:
types:
- closed
branches:
- main

jobs:
deploy:
runs-on: ubuntu-latest

# Either trigger from main or merged pull requests
if: ((startsWith(github.event.pull_request.head.ref, 'release/') || startsWith(github.event.pull_request.head.ref, 'hotfix-release/')) && github.event.pull_request.merged == true) || github.ref == 'refs/heads/main'

steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
cache: 'npm'

- name: Install Dependencies
env:
HUSKY: 0
run: |
npm ci
- name: Execute Unit Tests
env:
HUSKY: 0
run: |
npm run test
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.9.13'

- name: Display Python Version
run: |
which python
python -c "import sys; print(sys.version)"
- name: Install Python Dependencies
run: python -m pip install --upgrade pip requests jsondiff

- name: Display Working Directory Files
run: |
echo current directory
pwd
ls -a
- name: Display Current Package Version
run: echo $(jq -r .version package.json)

- name: Deploy To Production DB
env:
API_USER: ${{secrets.PROD_USERNAME}}
API_PASSWORD: ${{secrets.PROD_PASSWORD}}
run: |
python scripts/deployToDB.py https://api.rudderstack.com
Loading

0 comments on commit bbd44b5

Please sign in to comment.