Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
e65871b
initial commit
hasyed-akamai Jan 29, 2025
5f3f86f
populating IpV4 and ipV6
hasyed-akamai Jan 30, 2025
9b81d82
ACL Enable and IPv4 and IPv6 are added correctly
hasyed-akamai Feb 3, 2025
7388c0c
fix unit test and add IPv4 and IPv6 input for default case
hasyed-akamai Feb 3, 2025
c5b792d
cleanup
hasyed-akamai Feb 3, 2025
d96d617
Fix Cypress Test `Part-1`
hasyed-akamai Feb 4, 2025
e863e1e
Fix e2e Test `Part-2`
hasyed-akamai Feb 5, 2025
83be6c2
Remove Loading Bug
hasyed-akamai Feb 5, 2025
dfa1223
Fix k8_version initial value
hasyed-akamai Feb 6, 2025
f6e7795
Add Validation to the IPv4 and IPv6
hasyed-akamai Feb 6, 2025
f902c94
Set Validation errors and k8_version
hasyed-akamai Feb 6, 2025
5cdebc0
Add Error Scrollable Behaviour
hasyed-akamai Feb 6, 2025
e841372
Added changeset: Optimize CreateCluster component: Use React Hook Form
hasyed-akamai Feb 6, 2025
8768c89
Merge branch 'develop' into M3-8777-refactor-CreateCluster-component-…
hasyed-akamai Feb 6, 2025
795d6ea
removed unused props and added updateFor prop
hasyed-akamai Feb 12, 2025
c1f15bb
Fixed issue of Multiple call of `ControlPlaneACLPane` component
hasyed-akamai Feb 12, 2025
7fb587b
disabled remove button for the first input
hasyed-akamai Feb 13, 2025
31a5987
Merge branch 'develop' into M3-8777-refactor-CreateCluster-component-…
hasyed-akamai Feb 19, 2025
608bea6
Replaced useForm with useFormContext and add initialvalues for ipv4 a…
hasyed-akamai Feb 21, 2025
b2f5908
Merge branch 'develop' into M3-8777-refactor-CreateCluster-component-…
hasyed-akamai Feb 21, 2025
935379d
Remove useState and useEffect
hasyed-akamai Feb 24, 2025
4ae1357
Merge branch 'develop' into M3-8777-refactor-CreateCluster-component-…
hasyed-akamai Feb 24, 2025
a76ff57
fix unit test
hasyed-akamai Feb 24, 2025
d22b54f
Merge branch 'develop' into M3-8777-refactor-CreateCluster-component-…
hasyed-akamai Feb 25, 2025
09fd694
remove isSubmitting useState
hasyed-akamai Feb 26, 2025
932bcf1
refactor `ControlPlaneACLPane`
hasyed-akamai Feb 28, 2025
1baaaa5
refactor `ControlPlaneACLPane` Part-2
hasyed-akamai Mar 4, 2025
a0676b5
Merge branch 'develop' into M3-8777-refactor-CreateCluster-component-…
hasyed-akamai Mar 4, 2025
1e35fba
fix unit test
hasyed-akamai Mar 4, 2025
b6f7398
cleanup
hasyed-akamai Mar 4, 2025
847325a
Added default values in `ControlPlaneACLPane` test file
hasyed-akamai Mar 5, 2025
c9c9457
Merge branch 'develop' into M3-8777-refactor-CreateCluster-component-…
hasyed-akamai Mar 7, 2025
f599847
populate k8_versions for enterprise tier
hasyed-akamai Mar 7, 2025
84676ad
cleanup
hasyed-akamai Mar 10, 2025
955ed0a
Merge branch 'develop' into M3-8777-refactor-CreateCluster-component-…
Apr 9, 2025
2916d98
Revert "Merge branch 'develop' into M3-8777-refactor-CreateCluster-co…
Apr 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
103 changes: 2 additions & 101 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,9 @@ jobs:
[
"linode-manager",
"@linode/api-v4",
"@linode/queries",
"@linode/shared",
"@linode/validation",
"@linode/ui",
"@linode/utilities",
"@linode/validation",
]
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -195,7 +193,6 @@ jobs:
- run: pnpm run --filter @linode/ui test

test-utilities:
needs: build-sdk
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -207,57 +204,9 @@ jobs:
with:
node-version: "20.17"
cache: "pnpm"
- uses: actions/download-artifact@v4
with:
name: packages-api-v4-lib
path: packages/api-v4/lib
- run: pnpm install --frozen-lockfile
- run: pnpm run --filter @linode/utilities test

test-queries:
runs-on: ubuntu-latest
needs: build-sdk
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
run_install: false
version: 10
- uses: actions/setup-node@v4
with:
node-version: "20.17"
cache: "pnpm"
- uses: actions/download-artifact@v4
with:
name: packages-api-v4-lib
path: packages/api-v4/lib
- run: pnpm install --frozen-lockfile
- run: pnpm run --filter @linode/queries test

test-shared:
runs-on: ubuntu-latest
needs: build-sdk
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
run_install: false
version: 10
- uses: actions/setup-node@v4
with:
node-version: "20.17"
cache: "pnpm"
- uses: actions/download-artifact@v4
with:
name: packages-api-v4-lib
path: packages/api-v4/lib
- uses: actions/download-artifact@v4
with:
name: packages-validation-lib
path: packages/validation/lib
- run: pnpm install --frozen-lockfile
- run: pnpm run --filter @linode/shared test

typecheck-ui:
runs-on: ubuntu-latest
needs: build-sdk
Expand Down Expand Up @@ -287,57 +236,9 @@ jobs:
with:
node-version: "20.17"
cache: "pnpm"
- uses: actions/download-artifact@v4
with:
name: packages-api-v4-lib
path: packages/api-v4/lib
- run: pnpm install --frozen-lockfile
- run: pnpm run --filter @linode/utilities typecheck

typecheck-queries:
runs-on: ubuntu-latest
needs: build-sdk
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
run_install: false
version: 10
- uses: actions/setup-node@v4
with:
node-version: "20.17"
cache: "pnpm"
- uses: actions/download-artifact@v4
with:
name: packages-api-v4-lib
path: packages/api-v4/lib
- run: pnpm install --frozen-lockfile
- run: pnpm run --filter @linode/queries typecheck

typecheck-shared:
runs-on: ubuntu-latest
needs: build-sdk
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
run_install: false
version: 10
- uses: actions/setup-node@v4
with:
node-version: "20.17"
cache: "pnpm"
- uses: actions/download-artifact@v4
with:
name: packages-api-v4-lib
path: packages/api-v4/lib
- uses: actions/download-artifact@v4
with:
name: packages-validation-lib
path: packages/validation/lib
- run: pnpm install --frozen-lockfile
- run: pnpm run --filter @linode/shared typecheck

typecheck-manager:
runs-on: ubuntu-latest
needs: build-sdk
Expand Down Expand Up @@ -391,7 +292,7 @@ jobs:
- run: pnpm install --frozen-lockfile
- run: npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}
env:
NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- run: pnpm publish -r --filter @linode/api-v4 --filter @linode/validation --no-git-checks --access public
- name: slack-notify
uses: rtCamp/action-slack-notify@master
Expand Down
102 changes: 102 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: Code Coverage

on: [pull_request]

jobs:
base_branch:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.base_ref }} # The base branch of the PR (develop)

- uses: pnpm/action-setup@v4
with:
run_install: false
version: 10

- name: Use Node.js v20.17 LTS
uses: actions/setup-node@v4
with:
node-version: "20.17"
cache: "pnpm"

- name: Install Dependencies
run: pnpm install --frozen-lockfile

- name: Build @linode/validation
run: pnpm build:validation

- name: Build @linode/api-v4
run: pnpm build:sdk

- name: Run Base Branch Coverage
run: pnpm coverage:summary

- name: Write Base Coverage to an Artifact
run: |
coverage_json=$(cat ./packages/manager/coverage/coverage-summary.json)
pct=$(echo "$coverage_json" | jq -r '.total.statements.pct')
echo "$pct" > ref_code_coverage.txt

- name: Upload Base Coverage Artifact
uses: actions/upload-artifact@v4
with:
name: ref_code_coverage
path: ref_code_coverage.txt

current_branch:
# We want to make sure we only run on open PRs (not drafts), but also should run even if the base branch coverage job fails.
# If the base branch coverage job fails to create a report, the current branch coverage job will fail as well, but this may help us debug the CI on the current branch.
if: ${{ always() && github.event.pull_request.draft == false }}
runs-on: ubuntu-latest
needs: base_branch

steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4
with:
run_install: false
version: 10

- name: Use Node.js v20.17 LTS
uses: actions/setup-node@v4
with:
node-version: "20.17"
cache: "pnpm"

- name: Install Dependencies
run: pnpm install --frozen-lockfile

- name: Build @linode/validation
run: pnpm build:validation

- name: Build @linode/api-v4
run: pnpm build:sdk

- name: Run Current Branch Coverage
run: pnpm coverage:summary

- name: Write PR Number to an Artifact
run: |
echo "${{ github.event.number }}" > pr_number.txt

- name: Write Current Coverage to an Artifact
run: |
coverage_json=$(cat ./packages/manager/coverage/coverage-summary.json)
pct=$(echo "$coverage_json" | jq -r '.total.statements.pct')
echo "$pct" > current_code_coverage.txt

- name: Upload PR Number Artifact
uses: actions/upload-artifact@v4
with:
name: pr_number
path: pr_number.txt

- name: Upload Current Coverage Artifact
uses: actions/upload-artifact@v4
with:
name: current_code_coverage
path: current_code_coverage.txt
68 changes: 68 additions & 0 deletions .github/workflows/coverage_comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Coverage Comment

on:
workflow_run:
workflows: ["Code Coverage"]
types:
- completed

permissions:
pull-requests: write

jobs:
comment:
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Use Node.js v20.17 LTS
uses: actions/setup-node@v4
with:
node-version: "20.17"

- name: Download PR Number Artifact
uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e #v2.28.0
with:
workflow: "coverage.yml"
run_id: ${{ github.event.workflow_run.id }}
name: pr_number

- name: Download Base Coverage Artifact
uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e #v2.28.0
with:
workflow: "coverage.yml"
run_id: ${{ github.event.workflow_run.id }}
name: ref_code_coverage

- name: Download Current Coverage Artifact
uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e #v2.28.0
with:
workflow: "coverage.yml"
run_id: ${{ github.event.workflow_run.id }}
name: current_code_coverage

- name: Set PR Number Environment Variables
run: |
echo "PR_NUMBER=$(cat pr_number.txt)" >> $GITHUB_ENV

- name: Generate Coverage Comment
run: |
base_coverage=$(cat ref_code_coverage.txt)
current_coverage=$(cat current_code_coverage.txt)
if (( $(echo "$current_coverage < $base_coverage" | bc -l) )); then
icon="❌" # Error icon
else
icon="βœ…" # Check mark icon
fi
comment_message="**Coverage Report:** $icon<br>Base Coverage: $base_coverage%<br>Current Coverage: $current_coverage%"
echo "Coverage: $comment_message"
echo "$comment_message" > updated_comment.txt

- name: Post Comment
uses: mshick/add-pr-comment@7c0890544fb33b0bdd2e59467fbacb62e028a096 #v2.8.1
with:
issue: ${{ env.PR_NUMBER }}
message-path: updated_comment.txt
26 changes: 14 additions & 12 deletions .github/workflows/e2e_schedule_and_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ env:
CLIENT_ID: ${{ secrets.REACT_APP_CLIENT_ID }}
CY_TEST_FAIL_ON_MANAGED: 1
CY_TEST_RESET_PREFERENCES: 1
CY_TEST_SPLIT_RUN: 1
CY_TEST_SPLIT_RUN_TOTAL: 4
on:
schedule:
- cron: "0 13 * * 1-5"
Expand All @@ -21,17 +19,14 @@ on:

jobs:
run-cypress-e2e:
name: Cypress Tests (User ${{ matrix.user.index }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
user:
- { index: 1, name: 'USER_1' }
- { index: 2, name: 'USER_2' }
- { index: 3, name: 'USER_3' }
- { index: 4, name: 'USER_4' }
user: ["USER_1", "USER_2", "USER_3", "USER_4"]
steps:
- name: install command line utilities
run: sudo apt-get install -y expect
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
Expand All @@ -41,16 +36,23 @@ jobs:
with:
node-version: "20.17"
- run: |
echo "CYPRESS_RECORD_KEY=${{ secrets.CYPRESS_RECORD_KEY }}" >> $GITHUB_ENV
echo "GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
- run: echo "MANAGER_OAUTH=$USER_1" >> ./packages/manager/.env
if: matrix['user'] == 'USER_1'
- run: echo "MANAGER_OAUTH=$USER_2" >> ./packages/manager/.env
if: matrix['user'] == 'USER_2'
- run: echo "MANAGER_OAUTH=$USER_3" >> ./packages/manager/.env
if: matrix['user'] == 'USER_3'
- run: echo "MANAGER_OAUTH=$USER_4" >> ./packages/manager/.env
if: matrix['user'] == 'USER_4'
- run: |
echo "REACT_APP_LAUNCH_DARKLY_ID=${{ secrets.REACT_APP_LAUNCH_DARKLY_ID }}" >> ./packages/manager/.env
echo "REACT_APP_CLIENT_ID=$CLIENT_ID" >> ./packages/manager/.env
echo "REACT_APP_LOGIN_ROOT=${{ secrets.REACT_APP_LOGIN_ROOT }}" >> ./packages/manager/.env
echo "REACT_APP_API_ROOT=${{ secrets.REACT_APP_API_ROOT }}" >> ./packages/manager/.env
echo "REACT_APP_APP_ROOT=${{ secrets.REACT_APP_APP_ROOT }}" >> ./packages/manager/.env
echo "REACT_APP_DISABLE_NEW_RELIC=1" >> ./packages/manager/.env
echo "MANAGER_OAUTH=${{ secrets[matrix.user.name] }}" >> ./packages/manager/.env
echo "CY_TEST_SPLIT_RUN_INDEX=${{ matrix.user.index }}" >> ./packages/manager/.env
- run: pnpm install --frozen-lockfile
- run: pnpm run --filter @linode/validation build
- run: pnpm run --filter @linode/api-v4 build
Expand All @@ -64,5 +66,5 @@ jobs:
build: pnpm run build
start: pnpm start:ci
browser: chrome
record: false
parallel: false
record: true
parallel: true
Loading