Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(release): pull release/v1.76.0 into main #3672

Merged
merged 25 commits into from
Aug 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
23f70b2
chore(deps): bump @aws-sdk/client-personalize from 3.485.0 to 3.616.0
dependabot[bot] Jul 19, 2024
b6fa98f
Merge branch 'develop' of github.com:rudderlabs/rudder-transformer in…
Jul 25, 2024
413e9ce
fix: reserved properties for braze (#3573)
utsabc Aug 5, 2024
cb67262
fix: add alias support in case alias details are present (#3579)
utsabc Aug 5, 2024
7e9e2df
chore(deps-dev): bump husky from 8.0.3 to 9.1.1 (#3576)
dependabot[bot] Aug 8, 2024
29a8789
chore(deps): bump docker/login-action from 3.2.0 to 3.3.0 (#3614)
dependabot[bot] Aug 8, 2024
f1f5469
chore(deps): bump docker/build-push-action from 6.4.1 to 6.5.0 (#3615)
dependabot[bot] Aug 8, 2024
c2a8c06
chore(release): pull main into develop post release v1.74.0 (#3640)
aashishmalik Aug 8, 2024
a907be2
chore(release): pull main into develop post release v1.74.1 (#3644)
aashishmalik Aug 8, 2024
23196ec
fix: source transformation integration test generation (#3645)
sanpj2292 Aug 12, 2024
0835d9f
chore: add clean up script
koladilip Aug 13, 2024
ee5d523
Merge branch 'develop' into dependabot/npm_and_yarn/aws-sdk/client-pe…
koladilip Aug 13, 2024
5bae268
chore(deps): bump @aws-sdk/client-personalize from 3.485.0 to 3.616.0…
koladilip Aug 13, 2024
474f2bd
feat: klaviyo onboard unsubscribe profile support (#3646)
anantjain45823 Aug 19, 2024
01a483a
chore: cicd improvements (#3585)
sanpj2292 Aug 20, 2024
06f5d33
chore(deps): bump docker/setup-buildx-action from 3.4.0 to 3.6.1 (#3635)
dependabot[bot] Aug 20, 2024
d987d1f
feat: onboard sfmc with vdm for rETL (#3655)
ItsSudip Aug 20, 2024
1a61675
fix: fixing facebook utils (#3664)
shrouti1507 Aug 20, 2024
866dbf3
fix: attentive tag bugsnag issue (#3663)
shrouti1507 Aug 20, 2024
ec0bffe
Merge branch 'develop' of github.com:rudderlabs/rudder-transformer in…
Aug 20, 2024
899f8a0
chore: conflict fix from main to develop (#3670)
sanpj2292 Aug 20, 2024
001ee2b
chore(release): 1.76.0
web-flow Aug 20, 2024
6b1a23a
feat: added bloomreach retl support (#3619)
manish339k Aug 21, 2024
474a36e
feat: onboard smartly destination (#3660)
aanshi07 Aug 21, 2024
8980455
chore: edit changelog
shrouti1507 Aug 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,8 @@ src/v0/destinations/personalize/scripts/
test/integrations/destinations/testTypes.d.ts
*.config*.js
scripts/skipPrepareScript.js
*.yaml
*.yml
.eslintignore
.prettierignore
*.json
3 changes: 2 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
"parserOptions": {
"ecmaVersion": 12,
"sourceType": "module",
"project": "./tsconfig.json"
"project": "./tsconfig.json",
"extraFileExtensions": [".yaml"]
},
"rules": {
"unicorn/filename-case": [
Expand Down
83 changes: 71 additions & 12 deletions .github/workflows/build-push-docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,15 @@ on:
type: string
build_type:
type: string
use_merge_sha:
type: boolean
default: false
skip_tests:
type: boolean
default: false
description: if this option is true, we would skip tests while building docker image
workflow_url:
type: string
secrets:
DOCKERHUB_PROD_TOKEN:
required: true
Expand All @@ -31,27 +40,74 @@ env:
DOCKERHUB_USERNAME: rudderlabs

jobs:
get_sha:
runs-on: ubuntu-latest
name: Get SHA information
outputs:
sha: ${{steps.getSHA.outputs.SHA}}
steps:
- name: Checkout SHA
id: getSHA
run: |
if ${{inputs.use_merge_sha}} == true; then
sha=$(echo ${{github.sha}})
else
sha=$(echo ${{ github.event.pull_request.head.sha }})
fi
echo "SHA: $sha"
echo "SHA=$sha" >> $GITHUB_OUTPUT

get_changed_files:
runs-on: ubuntu-latest
name: Get Changed files
outputs:
should_execute_tests: ${{ steps.processing.outputs.should_execute_tests }}
steps:
- name: Checkout
uses: actions/[email protected]
with:
fetch-depth: 1
- id: files
uses: Ana06/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
format: 'json'
- id: processing
run: |
readarray -t modified_files <<<"$(jq -r '.[]' <<<'${{ steps.files.outputs.modified }}')"
echo "Modified files: $modified_files"
found=false
for modified_file in "${modified_files[@]}"; do
if [[ "$modified_file" == "Dockerfile" || "$modified_file" == "docker-compose.yml" || "$modified_file" == "Dockerfile" || "$modified_file" == "Dockerfile-ut-func" ]]; then
found=true
break
fi
done
echo "Match Found: $found"
echo "::set-output name=should_execute_tests::$found"

build-transformer-image-arm64:
name: Build Transformer Docker Image ARM64
runs-on: [self-hosted, Linux, ARM64]
needs: [get_sha, get_changed_files]
steps:
- name: Checkout
uses: actions/[email protected]
with:
ref: ${{ github.event.pull_request.head.sha }}
ref: ${{ needs.get_sha.outputs.sha }}
fetch-depth: 1

- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3.4.0
uses: docker/setup-buildx-action@v3.6.1

- name: Login to DockerHub
uses: docker/login-action@v3.2.0
uses: docker/login-action@v3.3.0
with:
username: ${{ env.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PROD_TOKEN }}

- name: Build Docker Image
uses: docker/build-push-action@v6.4.1
uses: docker/build-push-action@v6.5.0
with:
context: .
file: ${{ inputs.dockerfile }}
Expand All @@ -62,12 +118,13 @@ jobs:
# cache-to: type=gha,mode=max

- name: Run Tests
if: ${{ inputs.skip_tests != true || needs.get_changed_files.outputs.should_execute_tests == true }}
run: |
docker run ${{ inputs.build_tag }} npm run test:js:ci
docker run ${{ inputs.build_tag }} npm run test:ts:ci

- name: Build and Push Multi-platform Images
uses: docker/build-push-action@v6.4.1
uses: docker/build-push-action@v6.5.0
with:
context: .
file: ${{ inputs.dockerfile }}
Expand All @@ -85,24 +142,25 @@ jobs:
build-transformer-image-amd64:
name: Build Transformer Docker Image AMD64
runs-on: [self-hosted, Linux, X64]
needs: [get_sha, get_changed_files]
steps:
- name: Checkout
uses: actions/[email protected]
with:
ref: ${{ github.event.pull_request.head.sha }}
ref: ${{ needs.get_sha.outputs.sha }}
fetch-depth: 1

- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3.4.0
uses: docker/setup-buildx-action@v3.6.1

- name: Login to DockerHub
uses: docker/login-action@v3.2.0
uses: docker/login-action@v3.3.0
with:
username: ${{ env.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PROD_TOKEN }}

- name: Build Docker Image
uses: docker/build-push-action@v6.4.1
uses: docker/build-push-action@v6.5.0
with:
context: .
file: ${{ inputs.dockerfile }}
Expand All @@ -113,12 +171,13 @@ jobs:
# cache-to: type=gha,mode=max

- name: Run Tests
if: ${{ inputs.skip_tests != true || needs.get_changed_files.outputs.should_execute_tests == true }}
run: |
docker run ${{ inputs.build_tag }} npm run test:js:ci
docker run ${{ inputs.build_tag }} npm run test:ts:ci

- name: Build and Push Multi-platform Images
uses: docker/build-push-action@v6.4.1
uses: docker/build-push-action@v6.5.0
with:
context: .
file: ${{ inputs.dockerfile }}
Expand All @@ -140,10 +199,10 @@ jobs:

steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.4.0
uses: docker/setup-buildx-action@v3.6.1

- name: Login to DockerHub
uses: docker/login-action@v3.2.0
uses: docker/login-action@v3.3.0
with:
username: ${{ env.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PROD_TOKEN }}
Expand Down
26 changes: 25 additions & 1 deletion .github/workflows/dt-test-and-report-code-coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,22 @@ concurrency:
cancel-in-progress: true

jobs:
get_workflow_url:
runs-on: ubuntu-latest
steps:
- id: get_url
run: |
curl -s https://api.github.com/repos/${{ github.repository }}/actions/workflows/${{ github.workflow }}/runs/${{ github.run_id }} | jq -r .html_url >> workflow_url.txt
echo "::set-output name=workflow_url::$(cat workflow_url.txt)"
outputs:
url: ${{ steps.get_url.outputs.workflow_url }}

coverage:
name: Code Coverage
runs-on: ubuntu-latest

needs: [get_workflow_url]
outputs:
tests_run_outcome: ${{steps.run_tests.outcome}}
steps:
- name: Checkout
uses: actions/[email protected]
Expand All @@ -33,6 +45,8 @@ jobs:
run: npm ci

- name: Run Tests
id: run_tests
continue-on-error: true
run: |
# Supress logging in tests
LOG_LEVEL=100 npm run test:js:ci
Expand Down Expand Up @@ -70,3 +84,13 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.PAT }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

notify:
name: slack notification on failure
needs: [get_workflow_url, coverage]
if: needs.coverage.outputs.tests_run_outcome == 'failure' || failure()
uses: ./.github/workflows/slack-notify.yml
with:
workflow_url: ${{ needs.get_workflow_url.outputs.url }}
should_notify: ${{startsWith(github.event.pull_request.head.ref, 'hotfix-release/')}}
secrets: inherit
1 change: 1 addition & 0 deletions .github/workflows/prepare-for-dev-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ jobs:
dockerfile: Dockerfile
load_target: development
push_target: production
use_merge_sha: true
secrets:
DOCKERHUB_PROD_TOKEN: ${{ secrets.DOCKERHUB_PROD_TOKEN }}

Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/prepare-for-prod-dt-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ jobs:
load_target: development
push_target: production
build_type: dt
use_merge_sha: true
skip_tests: ${{startsWith(github.event.pull_request.head.ref, 'hotfix-release/')}}
secrets:
DOCKERHUB_PROD_TOKEN: ${{ secrets.DOCKERHUB_PROD_TOKEN }}

Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/prepare-for-prod-ut-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ jobs:
load_target: development
push_target: production
build_type: ut
use_merge_sha: true
skip_tests: ${{startsWith(github.event.pull_request.head.ref, 'hotfix-release/')}}
secrets:
DOCKERHUB_PROD_TOKEN: ${{ secrets.DOCKERHUB_PROD_TOKEN }}

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/prepare-for-staging-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ jobs:
dockerfile: Dockerfile
load_target: development
push_target: production
use_merge_sha: true
secrets:
DOCKERHUB_PROD_TOKEN: ${{ secrets.DOCKERHUB_PROD_TOKEN }}

Expand Down
51 changes: 51 additions & 0 deletions .github/workflows/slack-notify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Notify workflow failure

on:
workflow_call:
inputs:
should_notify:
type: boolean
default: true
workflow_url:
type: string
required: true

jobs:
notify:
runs-on: ubuntu-latest
if: ${{ inputs.should_notify }}
steps:
- name: Checkout
uses: actions/[email protected]

- name: notify
uses: slackapi/[email protected]
continue-on-error: true
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
PROJECT_NAME: 'Rudder Transformer'
with:
channel-id: ${{ secrets.SLACK_INTEGRATION_DEV_CHANNEL_ID }}
payload: |
{
"text": "*<prod release tests failed>*\nCC: <!subteam^S02AEQL26CT>",
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": ":siren2: prod release tests - Failed :siren2:"
}
},
{
"type": "divider"
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*<${{inputs.workflow_url}}|failed workflow>*\nCC: <!subteam^S02AEQL26CT>"
}
}
]
}
24 changes: 20 additions & 4 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,29 @@ jobs:
- name: Install Dependencies
run: npm ci

- name: Run Lint Checks
- id: files
uses: Ana06/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Run format Checks
run: |
npx prettier ${{steps.files.outputs.added_modified}} --write

- run: git diff --exit-code

- name: Formatting Error message
if: ${{ failure() }}
run: |
echo 'prettier formatting failure. Ensure you run `npm run format` and commit the files.'

- name: Run eslint Checks
run: |
npm run lint
npx eslint ${{steps.files.outputs.added_modified}} --fix

- run: git diff --exit-code

- name: Error message
- name: Eslint Error message
if: ${{ failure() }}
run: |
echo 'Eslint check is failing Ensure you have run `npm run lint` and committed the files locally.'
echo 'Eslint failure. Ensure you run `npm run lint:fix` and commit the files.'
2 changes: 0 additions & 2 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npm run commit-msg
2 changes: 0 additions & 2 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npm run pre-commit
2 changes: 2 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ test/**/*.js
src/util/lodash-es-core.js
src/util/url-search-params.min.js
dist
.eslintignore
.prettierignore
4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[yaml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
Expand Down
Loading
Loading