Skip to content

Commit 3cab7d4

Browse files
committed
chore: get playwright working again
1 parent 25dece3 commit 3cab7d4

File tree

17 files changed

+152
-230
lines changed

17 files changed

+152
-230
lines changed

.github/workflows/nightly.yaml

Lines changed: 146 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ name: Playwright Tests
22

33
on:
44
push:
5-
branches: "disabled"
5+
branches: "**"
6+
pull_request:
7+
branches: "**"
68
# schedule:
79
# - cron: "30 22 * * *"
810
workflow_dispatch:
@@ -33,7 +35,7 @@ jobs:
3335
contents: read
3436

3537
steps:
36-
- uses: actions/checkout@v3
38+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3739
- name : Set URL environment Variable
3840
run: |
3941
echo "URL=http://localhost:8000" >> $GITHUB_ENV
@@ -69,13 +71,24 @@ jobs:
6971
sudo mv ./kubectl /usr/local/bin/kubectl
7072
kubectl version --client
7173
72-
- name: Install kind
73-
run: |
74-
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64
75-
chmod +x ./kind
76-
sudo mv ./kind /usr/local/bin/kind
77-
which kind
78-
kind version
74+
# - name: Install kind
75+
# run: |
76+
# curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64
77+
# chmod +x ./kind
78+
# sudo mv ./kind /usr/local/bin/kind
79+
# which kind
80+
# kind version
81+
82+
- name: Kubernetes KinD Cluster
83+
id: kind
84+
uses: helm/kind-action@v1
85+
with:
86+
cluster_name: 'weave-gitops-community'
87+
kubectl_version: v1.31.0
88+
registry: true
89+
registry_name: werave-registry
90+
registry_port: 5001
91+
registry_enable_delete: true
7992

8093
- name: Install playwright
8194
run: |
@@ -88,122 +101,136 @@ jobs:
88101
- name: Lint with flake8
89102
run: |
90103
# stop the build if there are Python syntax errors or undefined names
91-
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
104+
flake8 ./playwright --count --select=E9,F63,F7,F82 --show-source --statistics
92105
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
93-
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
94-
95-
- name: Setup management cluster
96-
run: |
97-
./utils/scripts/mgmt-cluster-setup.sh ${{ env.MANAGEMENT_CLUSTER_TYPE }} $(pwd) ${{ env.CLUSTER_NAME }}
106+
flake8 ./playwright --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
98107
99108
- name: Extract branch name
100109
run: |
101110
echo "branch_name=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
102111
id: extract_branch
103112

104-
- name: Setup wego enterprise
113+
- name: Setup flux
105114
run: |
106115
kubectl create namespace flux-system
107-
flux install
108-
kubectl create secret generic git-provider-credentials -n flux-system --from-literal=username="weave-gitops-bot" --from-literal=password="${WEAVEWORKS_BOT_TOKEN}"
109-
sed -i 's/BRANCH_NAME/${{ steps.extract_branch.outputs.branch_name }}/' ./utils/scripts/resources/flux-system-gitrepo.yaml
110-
./utils/scripts/wego-enterprise.sh setup ./utils/scripts
111-
112-
- name: Install violating-app
113-
run: |
114-
kubectl apply -f ./utils/data/violating-podinfo-kustomization.yaml
115-
116-
- name: Install policies
117-
run: |
118-
kubectl apply -f ./utils/data/policies.yaml
119-
120-
- name: Flux reconcile violating app
121-
run: |
122-
flux reconcile kustomization violating-podinfo -n default --with-source || true
123-
kubectl get pods -A
124-
125-
- name: Install gitopsset-configmaps
126-
run: |
127-
kubectl apply -f ./utils/data/gitops-sets-kustomization.yaml
128-
129-
- name: run tests
130-
if: success()
131-
run: |
132-
pytest -s -v --video=retain-on-failure --screenshot=only-on-failure --template=html1/index.html --report=test-results/test-run-report.html -o junit_family=xunit2 --junit-xml=test-results/junit_test_report.xml
133-
134-
- name: Generate tests report
135-
if: always()
136-
uses: pmeier/pytest-results-action@main
137-
with:
138-
path: test-results/junit_test_report.xml
139-
summary: true
140-
display-options: fEX
141-
fail-on-empty: true
142-
143-
- name: Upload test report
144-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
145-
if: success() || failure()
146-
with:
147-
name: playwright-tests-report
148-
path: test-results/
149-
retention-days: 3
150-
151-
- name: Download test artifacts
152-
uses: actions/download-artifact@v4.1.8
153-
if: success() || failure()
154-
with:
155-
name: playwright-tests-report
156-
path: test-results/
157-
158-
- name: Display structure of downloaded files
159-
if: always()
160-
run: ls -R
161-
working-directory: test-results
162-
163-
- name: Publish test report
164-
id: test_summary
165-
uses: mikepenz/action-junit-report@v5.2.0
166-
if: success() || failure()
167-
with:
168-
report_paths: test-results/junit_test_report.xml
169-
170-
- name: Notify Slack
171-
id: slack
172-
uses: slackapi/slack-github-action@v2.0.0
173-
with:
174-
channel-id: C058RPVS5DZ
175-
payload: |
176-
{
177-
"blocks": [
178-
{
179-
"type": "section",
180-
"text": {
181-
"type": "mrkdwn",
182-
"text": "*Tests result:*"
183-
}
184-
},
185-
{
186-
"type": "section",
187-
"text": {
188-
"type": "mrkdwn",
189-
"text": "Tests :test_tube:\t\t\tPassed :check:\t\t\tSkipped :arrow_right_hook:\t\t\tFailed :x:\n>executed:*${{steps.test_summary.outputs.total}}*\t\t\tpassed:*${{steps.test_summary.outputs.passed}}*\t\t\tskipped:*${{steps.test_summary.outputs.skipped}}*\t\t\tfailed:*${{steps.test_summary.outputs.failed}}*"
190-
}
191-
},
192-
{
193-
"type": "section",
194-
"text": {
195-
"type": "mrkdwn",
196-
"text": "*View result on Github:* ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
197-
}
198-
}
199-
]
200-
}
201-
if: always()
202-
env:
203-
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
204-
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
205-
206-
- name : Delete test cluster
207-
if: success() || failure()
208-
run: |
209-
kind delete clusters --all
116+
flux install --components-extra="image-reflector-controller,image-automation-controller"
117+
kubectl rollout status deployment/source-controller -n flux-system
118+
kubectl rollout status deployment/kustomize-controller -n flux-system
119+
kubectl rollout status deployment/helm-controller -n flux-system
120+
kubectl rollout status deployment/notification-controller -n flux-system
121+
kubectl rollout status deployment/image-reflector-controller -n flux-system
122+
kubectl rollout status deployment/image-automation-controller -n flux-system
123+
echo
124+
kubectl get deployments -n flux-system
125+
126+
- name: Install test resources
127+
run: |
128+
kubectl apply -k tools/dev-resources
129+
sleep 30
130+
kubectl rollout status deployment/kube-prometheus-stack-grafana -n monitoring
131+
kubectl rollout status deployment/podinfo -n default
132+
sleep 15
133+
kubectl rollout status DaemonSet/loki-stack-promtail -n monitoring
134+
135+
# kubectl create secret generic git-provider-credentials -n flux-system --from-literal=username="weave-gitops-bot" --from-literal=password="${WEAVEWORKS_BOT_TOKEN}"
136+
# sed -i 's/BRANCH_NAME/${{ steps.extract_branch.outputs.branch_name }}/' ./playwright/utils/scripts/resources/flux-system-gitrepo.yaml
137+
# ./playwright/utils/scripts/wego-enterprise.sh setup ./utils/scripts
138+
#
139+
# - name: Install violating-app
140+
# run: |
141+
# kubectl apply -f ./playwright/utils/data/violating-podinfo-kustomization.yaml
142+
#
143+
# - name: Install policies
144+
# run: |
145+
# kubectl apply -f ./playwright/utils/data/policies.yaml
146+
#
147+
# - name: Flux reconcile violating app
148+
# run: |
149+
# flux reconcile kustomization violating-podinfo -n default --with-source || true
150+
# kubectl get pods -A
151+
#
152+
# - name: Install gitopsset-configmaps
153+
# run: |
154+
# kubectl apply -f ./playwright/utils/data/gitops-sets-kustomization.yaml
155+
#
156+
# - name: run tests
157+
# if: success()
158+
# run: |
159+
# pytest -s -v --video=retain-on-failure --screenshot=only-on-failure --template=html1/index.html --report=test-results/test-run-report.html -o junit_family=xunit2 --junit-xml=test-results/junit_test_report.xml
160+
#
161+
# - name: Generate tests report
162+
# if: always()
163+
# uses: pmeier/pytest-results-action@main
164+
# with:
165+
# path: test-results/junit_test_report.xml
166+
# summary: true
167+
# display-options: fEX
168+
# fail-on-empty: true
169+
#
170+
# - name: Upload test report
171+
# uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
172+
# if: success() || failure()
173+
# with:
174+
# name: playwright-tests-report
175+
# path: test-results/
176+
# retention-days: 3
177+
#
178+
# - name: Download test artifacts
179+
# uses: actions/download-artifact@v4.1.8
180+
# if: success() || failure()
181+
# with:
182+
# name: playwright-tests-report
183+
# path: test-results/
184+
#
185+
# - name: Display structure of downloaded files
186+
# if: always()
187+
# run: ls -R
188+
# working-directory: test-results
189+
#
190+
# - name: Publish test report
191+
# id: test_summary
192+
# uses: mikepenz/action-junit-report@v5.2.0
193+
# if: success() || failure()
194+
# with:
195+
# report_paths: test-results/junit_test_report.xml
196+
#
197+
# - name: Notify Slack
198+
# id: slack
199+
# uses: slackapi/slack-github-action@v2.0.0
200+
# with:
201+
# channel-id: C058RPVS5DZ
202+
# payload: |
203+
# {
204+
# "blocks": [
205+
# {
206+
# "type": "section",
207+
# "text": {
208+
# "type": "mrkdwn",
209+
# "text": "*Tests result:*"
210+
# }
211+
# },
212+
# {
213+
# "type": "section",
214+
# "text": {
215+
# "type": "mrkdwn",
216+
# "text": "Tests :test_tube:\t\t\tPassed :check:\t\t\tSkipped :arrow_right_hook:\t\t\tFailed :x:\n>executed:*${{steps.test_summary.outputs.total}}*\t\t\tpassed:*${{steps.test_summary.outputs.passed}}*\t\t\tskipped:*${{steps.test_summary.outputs.skipped}}*\t\t\tfailed:*${{steps.test_summary.outputs.failed}}*"
217+
# }
218+
# },
219+
# {
220+
# "type": "section",
221+
# "text": {
222+
# "type": "mrkdwn",
223+
# "text": "*View result on Github:* ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
224+
# }
225+
# }
226+
# ]
227+
# }
228+
# if: always()
229+
# env:
230+
# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
231+
# SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
232+
233+
# - name : Delete test cluster
234+
# if: success() || failure()
235+
# run: |
236+
# kind delete clusters --all

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,5 @@ gitops-server.dockerfile
4141
!.yarn/releases
4242
!.yarn/sdks
4343
!.yarn/versions
44+
45+
__pycache__

playwright/pages/gitopssets_page.py

Lines changed: 0 additions & 21 deletions
This file was deleted.

playwright/pages/policies_page.py

Lines changed: 0 additions & 9 deletions
This file was deleted.

playwright/test_weave_gitops_enterprise/test_gitopssets.py

Lines changed: 0 additions & 52 deletions
This file was deleted.

0 commit comments

Comments
 (0)