Skip to content
Closed

Dev #4393

Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ jobs:
fetch-depth: 0
- uses: actions/labeler@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
repo-token: ${{ secrets.GH_TOKEN }}
configuration-path: .github/labeler-config.yml
57 changes: 46 additions & 11 deletions .github/workflows/pullRequests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ jobs:
run-cache-key: ${{ steps.run-cache-key.outputs.run-cache-key }}
is-fork-pr: ${{ steps.is-fork-pr.outputs.is-fork-pr }}
changed-packages: ${{ steps.detect-changed-packages.outputs.changed-packages }}
latest-webiny-version: ${{ steps.latest-webiny-version.outputs.latest-webiny-version }}
steps:
- uses: actions/setup-node@v4
with:
Expand Down Expand Up @@ -79,6 +80,39 @@ jobs:
.github/workflows/wac/utils/runNodeScripts/listChangedPackages.js '${{
steps.detect-changed-files.outputs.changed_files }}')" >>
$GITHUB_OUTPUT
- name: Get latest Webiny version on NPM
id: latest-webiny-version
run: >-
echo "latest-webiny-version=$(npm view @webiny/cli version)" >>
$GITHUB_OUTPUT
runs-on: ubuntu-latest
env:
NODE_OPTIONS: '--max_old_space_size=4096'
YARN_ENABLE_IMMUTABLE_INSTALLS: false
assignMilestone:
name: Assign milestone
needs: constants
if: needs.constants.outputs.is-fork-pr != 'true'
steps:
- uses: actions/setup-node@v4
with:
node-version: 20
- uses: actions/checkout@v4
- name: Print latest Webiny version
run: echo ${{ needs.constants.outputs.latest-webiny-version }}
- id: get-milestone-to-assign
name: Get milestone to assign
run: >-
echo "milestone=$(node
.github/workflows/wac/utils/runNodeScripts/getMilestoneToAssign.js
'{"latestWebinyVersion":"${{
needs.constants.outputs.latest-webiny-version }}","baseBranch":"${{
github.base_ref }}"}')" >> $GITHUB_OUTPUT
- uses: zoispag/action-assign-milestone@v1
if: steps.get-milestone-to-assign.outputs.milestone
with:
repo-token: ${{ secrets.GH_TOKEN }}
milestone: ${{ steps.get-milestone-to-assign.outputs.milestone }}
runs-on: ubuntu-latest
env:
NODE_OPTIONS: '--max_old_space_size=4096'
Expand Down Expand Up @@ -118,7 +152,6 @@ jobs:
staticCodeAnalysis:
needs:
- constants
- build
name: Static code analysis
steps:
- uses: actions/setup-node@v4
Expand Down Expand Up @@ -203,8 +236,8 @@ jobs:
- name: Packages to test with Jest
id: list-packages
run: >-
echo ${{
steps.list-packages-to-jest-test.outputs.packages-to-jest-test }}
echo '${{
steps.list-packages-to-jest-test.outputs.packages-to-jest-test }}'
env:
NODE_OPTIONS: '--max_old_space_size=4096'
YARN_ENABLE_IMMUTABLE_INSTALLS: false
Expand Down Expand Up @@ -321,8 +354,8 @@ jobs:
- name: Packages to test with Jest
id: list-packages
run: >-
echo ${{
steps.list-packages-to-jest-test.outputs.packages-to-jest-test }}
echo '${{
steps.list-packages-to-jest-test.outputs.packages-to-jest-test }}'
env:
NODE_OPTIONS: '--max_old_space_size=4096'
YARN_ENABLE_IMMUTABLE_INSTALLS: false
Expand Down Expand Up @@ -393,7 +426,8 @@ jobs:
'[[{"cmd":"packages/api-aco
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-aco","id":"8f23ec33f547aa62236f5c71115688d6"},{"cmd":"packages/api-audit-logs
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-audit-logs","id":"a292444cd9100f78d8fc196274393ea8"},{"cmd":"packages/api-dynamodb-to-elasticsearch
--storage=ddb-es,ddb","storage":["ddb-es"],"packageName":"api-dynamodb-to-elasticsearch","id":"e2c325f0940ba5fb5a891a8cf74fca61"},{"cmd":"packages/api-elasticsearch","storage":["ddb-es","ddb-os"],"packageName":"api-elasticsearch","id":"430874606aeb8e8041b325955f9330e3"},{"cmd":"packages/api-elasticsearch-tasks
--storage=ddb-es,ddb","storage":["ddb-es"],"packageName":"api-dynamodb-to-elasticsearch","id":"e2c325f0940ba5fb5a891a8cf74fca61"},{"cmd":"packages/api-elasticsearch
--storage=ddb-es,ddb","storage":["ddb-es"],"packageName":"api-elasticsearch","id":"5963079c60b96202bbaf2a802ad14383"},{"cmd":"packages/api-elasticsearch-tasks
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-elasticsearch-tasks","id":"d81ad1d024a8746cc440e2e548770f8f"},{"cmd":"packages/api-file-manager
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-file-manager","id":"d6f293add4a252b96cbd770ab6e80557"},{"cmd":"packages/api-form-builder
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-form-builder","id":"3753bde0144d808eb15c755b7176386c"},{"cmd":"packages/api-form-builder-so-ddb-es
Expand Down Expand Up @@ -436,8 +470,8 @@ jobs:
- name: Packages to test with Jest
id: list-packages
run: >-
echo ${{
steps.list-packages-to-jest-test.outputs.packages-to-jest-test }}
echo '${{
steps.list-packages-to-jest-test.outputs.packages-to-jest-test }}'
env:
NODE_OPTIONS: '--max_old_space_size=4096'
YARN_ENABLE_IMMUTABLE_INSTALLS: false
Expand Down Expand Up @@ -521,7 +555,8 @@ jobs:
'[[{"cmd":"packages/api-aco
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-aco","id":"e4b1b5ebc172f2657485e41c35ad1cd7"},{"cmd":"packages/api-audit-logs
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-audit-logs","id":"b36aac5f0e34dc4583e5422ae589f1ed"},{"cmd":"packages/api-dynamodb-to-elasticsearch
--storage=ddb-os,ddb","storage":["ddb-os"],"packageName":"api-dynamodb-to-elasticsearch","id":"6e0b282c3d135703e52b2c55822d4fb0"},{"cmd":"packages/api-elasticsearch","storage":["ddb-es","ddb-os"],"packageName":"api-elasticsearch","id":"430874606aeb8e8041b325955f9330e3"},{"cmd":"packages/api-elasticsearch-tasks
--storage=ddb-os,ddb","storage":["ddb-os"],"packageName":"api-dynamodb-to-elasticsearch","id":"6e0b282c3d135703e52b2c55822d4fb0"},{"cmd":"packages/api-elasticsearch
--storage=ddb-os,ddb","storage":["ddb-os"],"packageName":"api-elasticsearch","id":"b0f477d6b209f654714809b318be888e"},{"cmd":"packages/api-elasticsearch-tasks
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-elasticsearch-tasks","id":"580a9577fdbd4a241034a42e1a47dee5"},{"cmd":"packages/api-file-manager
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-file-manager","id":"346430a79981d3e214c87254a08e31b2"},{"cmd":"packages/api-form-builder
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-form-builder","id":"d386cddfd3c366ad9955193dcfe74363"},{"cmd":"packages/api-form-builder-so-ddb-es
Expand Down Expand Up @@ -564,8 +599,8 @@ jobs:
- name: Packages to test with Jest
id: list-packages
run: >-
echo ${{
steps.list-packages-to-jest-test.outputs.packages-to-jest-test }}
echo '${{
steps.list-packages-to-jest-test.outputs.packages-to-jest-test }}'
env:
NODE_OPTIONS: '--max_old_space_size=4096'
YARN_ENABLE_IMMUTABLE_INSTALLS: false
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/pushDev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,8 @@ jobs:
${{ fromJson('[{"cmd":"packages/api-aco
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-aco","id":"8f23ec33f547aa62236f5c71115688d6"},{"cmd":"packages/api-audit-logs
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-audit-logs","id":"a292444cd9100f78d8fc196274393ea8"},{"cmd":"packages/api-dynamodb-to-elasticsearch
--storage=ddb-es,ddb","storage":["ddb-es"],"packageName":"api-dynamodb-to-elasticsearch","id":"e2c325f0940ba5fb5a891a8cf74fca61"},{"cmd":"packages/api-elasticsearch","storage":["ddb-es","ddb-os"],"packageName":"api-elasticsearch","id":"430874606aeb8e8041b325955f9330e3"},{"cmd":"packages/api-elasticsearch-tasks
--storage=ddb-es,ddb","storage":["ddb-es"],"packageName":"api-dynamodb-to-elasticsearch","id":"e2c325f0940ba5fb5a891a8cf74fca61"},{"cmd":"packages/api-elasticsearch
--storage=ddb-es,ddb","storage":["ddb-es"],"packageName":"api-elasticsearch","id":"5963079c60b96202bbaf2a802ad14383"},{"cmd":"packages/api-elasticsearch-tasks
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-elasticsearch-tasks","id":"d81ad1d024a8746cc440e2e548770f8f"},{"cmd":"packages/api-file-manager
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-file-manager","id":"d6f293add4a252b96cbd770ab6e80557"},{"cmd":"packages/api-form-builder
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-form-builder","id":"3753bde0144d808eb15c755b7176386c"},{"cmd":"packages/api-form-builder-so-ddb-es
Expand Down Expand Up @@ -372,7 +373,8 @@ jobs:
${{ fromJson('[{"cmd":"packages/api-aco
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-aco","id":"e4b1b5ebc172f2657485e41c35ad1cd7"},{"cmd":"packages/api-audit-logs
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-audit-logs","id":"b36aac5f0e34dc4583e5422ae589f1ed"},{"cmd":"packages/api-dynamodb-to-elasticsearch
--storage=ddb-os,ddb","storage":["ddb-os"],"packageName":"api-dynamodb-to-elasticsearch","id":"6e0b282c3d135703e52b2c55822d4fb0"},{"cmd":"packages/api-elasticsearch","storage":["ddb-es","ddb-os"],"packageName":"api-elasticsearch","id":"430874606aeb8e8041b325955f9330e3"},{"cmd":"packages/api-elasticsearch-tasks
--storage=ddb-os,ddb","storage":["ddb-os"],"packageName":"api-dynamodb-to-elasticsearch","id":"6e0b282c3d135703e52b2c55822d4fb0"},{"cmd":"packages/api-elasticsearch
--storage=ddb-os,ddb","storage":["ddb-os"],"packageName":"api-elasticsearch","id":"b0f477d6b209f654714809b318be888e"},{"cmd":"packages/api-elasticsearch-tasks
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-elasticsearch-tasks","id":"580a9577fdbd4a241034a42e1a47dee5"},{"cmd":"packages/api-file-manager
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-file-manager","id":"346430a79981d3e214c87254a08e31b2"},{"cmd":"packages/api-form-builder
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-form-builder","id":"d386cddfd3c366ad9955193dcfe74363"},{"cmd":"packages/api-form-builder-so-ddb-es
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/pushNext.yml
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,8 @@ jobs:
${{ fromJson('[{"cmd":"packages/api-aco
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-aco","id":"8f23ec33f547aa62236f5c71115688d6"},{"cmd":"packages/api-audit-logs
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-audit-logs","id":"a292444cd9100f78d8fc196274393ea8"},{"cmd":"packages/api-dynamodb-to-elasticsearch
--storage=ddb-es,ddb","storage":["ddb-es"],"packageName":"api-dynamodb-to-elasticsearch","id":"e2c325f0940ba5fb5a891a8cf74fca61"},{"cmd":"packages/api-elasticsearch","storage":["ddb-es","ddb-os"],"packageName":"api-elasticsearch","id":"430874606aeb8e8041b325955f9330e3"},{"cmd":"packages/api-elasticsearch-tasks
--storage=ddb-es,ddb","storage":["ddb-es"],"packageName":"api-dynamodb-to-elasticsearch","id":"e2c325f0940ba5fb5a891a8cf74fca61"},{"cmd":"packages/api-elasticsearch
--storage=ddb-es,ddb","storage":["ddb-es"],"packageName":"api-elasticsearch","id":"5963079c60b96202bbaf2a802ad14383"},{"cmd":"packages/api-elasticsearch-tasks
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-elasticsearch-tasks","id":"d81ad1d024a8746cc440e2e548770f8f"},{"cmd":"packages/api-file-manager
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-file-manager","id":"d6f293add4a252b96cbd770ab6e80557"},{"cmd":"packages/api-form-builder
--storage=ddb-es,ddb","storage":"ddb-es","packageName":"api-form-builder","id":"3753bde0144d808eb15c755b7176386c"},{"cmd":"packages/api-form-builder-so-ddb-es
Expand Down Expand Up @@ -372,7 +373,8 @@ jobs:
${{ fromJson('[{"cmd":"packages/api-aco
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-aco","id":"e4b1b5ebc172f2657485e41c35ad1cd7"},{"cmd":"packages/api-audit-logs
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-audit-logs","id":"b36aac5f0e34dc4583e5422ae589f1ed"},{"cmd":"packages/api-dynamodb-to-elasticsearch
--storage=ddb-os,ddb","storage":["ddb-os"],"packageName":"api-dynamodb-to-elasticsearch","id":"6e0b282c3d135703e52b2c55822d4fb0"},{"cmd":"packages/api-elasticsearch","storage":["ddb-es","ddb-os"],"packageName":"api-elasticsearch","id":"430874606aeb8e8041b325955f9330e3"},{"cmd":"packages/api-elasticsearch-tasks
--storage=ddb-os,ddb","storage":["ddb-os"],"packageName":"api-dynamodb-to-elasticsearch","id":"6e0b282c3d135703e52b2c55822d4fb0"},{"cmd":"packages/api-elasticsearch
--storage=ddb-os,ddb","storage":["ddb-os"],"packageName":"api-elasticsearch","id":"b0f477d6b209f654714809b318be888e"},{"cmd":"packages/api-elasticsearch-tasks
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-elasticsearch-tasks","id":"580a9577fdbd4a241034a42e1a47dee5"},{"cmd":"packages/api-file-manager
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-file-manager","id":"346430a79981d3e214c87254a08e31b2"},{"cmd":"packages/api-form-builder
--storage=ddb-os,ddb","storage":"ddb-os","packageName":"api-form-builder","id":"d386cddfd3c366ad9955193dcfe74363"},{"cmd":"packages/api-form-builder-so-ddb-es
Expand Down
45 changes: 42 additions & 3 deletions .github/workflows/wac/pullRequests.wac.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ const createJestTestsJobs = (storage: string | null) => {
{
name: "Packages to test with Jest",
id: "list-packages",
run: "echo ${{ steps.list-packages-to-jest-test.outputs.packages-to-jest-test }}"
run: "echo '${{ steps.list-packages-to-jest-test.outputs.packages-to-jest-test }}'"
}
]
});
Expand Down Expand Up @@ -153,7 +153,9 @@ export const pullRequests = createWorkflow({
"global-cache-key": "${{ steps.global-cache-key.outputs.global-cache-key }}",
"run-cache-key": "${{ steps.run-cache-key.outputs.run-cache-key }}",
"is-fork-pr": "${{ steps.is-fork-pr.outputs.is-fork-pr }}",
"changed-packages": "${{ steps.detect-changed-packages.outputs.changed-packages }}"
"changed-packages": "${{ steps.detect-changed-packages.outputs.changed-packages }}",
"latest-webiny-version":
"${{ steps.latest-webiny-version.outputs.latest-webiny-version }}"
},
steps: [
{
Expand Down Expand Up @@ -197,6 +199,43 @@ export const pullRequests = createWorkflow({
"${{ steps.detect-changed-files.outputs.changed_files }}",
{ outputAs: "changed-packages" }
)
},
{
name: "Get latest Webiny version on NPM",
id: "latest-webiny-version",
run: addToOutputs("latest-webiny-version", "$(npm view @webiny/cli version)")
}
]
}),
assignMilestone: createJob({
name: "Assign milestone",
needs: "constants",
if: "needs.constants.outputs.is-fork-pr != 'true'",
steps: [
{
name: "Print latest Webiny version",
run: "echo ${{ needs.constants.outputs.latest-webiny-version }}"
},
{
id: "get-milestone-to-assign",
name: "Get milestone to assign",
run: runNodeScript(
"getMilestoneToAssign",
JSON.stringify({
latestWebinyVersion:
"${{ needs.constants.outputs.latest-webiny-version }}",
baseBranch: "${{ github.base_ref }}"
}),
{ outputAs: "milestone" }
)
},
{
uses: "zoispag/action-assign-milestone@v1",
if: "steps.get-milestone-to-assign.outputs.milestone",
with: {
"repo-token": "${{ secrets.GH_TOKEN }}",
milestone: "${{ steps.get-milestone-to-assign.outputs.milestone }}"
}
}
]
}),
Expand All @@ -216,7 +255,7 @@ export const pullRequests = createWorkflow({
]
}),
staticCodeAnalysis: createJob({
needs: ["constants", "build"],
needs: ["constants"],
name: "Static code analysis",
checkout: { path: DIR_WEBINY_JS },
steps: [
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/wac/utils/listPackagesWithJestTests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -262,8 +262,12 @@ const CUSTOM_HANDLERS: Record<string, () => Array<PackageWithTests>> = {
"api-elasticsearch": () => {
return [
{
cmd: "packages/api-elasticsearch",
storage: ["ddb-es", "ddb-os"]
cmd: "packages/api-elasticsearch --storage=ddb-es,ddb",
storage: ["ddb-es"]
},
{
cmd: "packages/api-elasticsearch --storage=ddb-os,ddb",
storage: ["ddb-os"]
}
];
},
Expand Down
17 changes: 17 additions & 0 deletions .github/workflows/wac/utils/runNodeScripts/getMilestoneToAssign.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// Returns the milestone to assign to the PR based on the base branch and the latest Webiny version.
const args = process.argv.slice(2); // Removes the first two elements
const [params] = args;
const { latestWebinyVersion, baseBranch } = JSON.parse(params);

const [major, minor, patch] = latestWebinyVersion.split(".");

switch (baseBranch) {
case "next":
console.log(`${major}.${parseInt(minor, 10) + 1}.0`);
break;
case "dev":
console.log(`${major}.${minor}.${parseInt(patch, 10) + 1}`);
break;
default:
console.log("");
}
10 changes: 9 additions & 1 deletion packages/api-dynamodb-to-elasticsearch/src/Operations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,20 @@ export enum OperationType {
}

export class Operations implements IOperations {
public readonly items: GenericRecord[] = [];
private _items: GenericRecord[] = [];

public get items(): GenericRecord[] {
return this._items;
}

public get total(): number {
return this.items.length;
}

public clear() {
this._items = [];
}

public insert(params: IInsertOperationParams): void {
this.items.push(
{
Expand Down
Loading