Skip to content

Commit ad76fcc

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

File tree

17 files changed

+149
-230
lines changed

17 files changed

+149
-230
lines changed

.github/workflows/nightly.yaml

Lines changed: 143 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,23 @@ 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+
kubectl_version: v1.31.0
87+
registry: true
88+
registry_name: my-registry
89+
registry_port: 5001
90+
registry_enable_delete: true
7991

8092
- name: Install playwright
8193
run: |
@@ -88,122 +100,134 @@ jobs:
88100
- name: Lint with flake8
89101
run: |
90102
# stop the build if there are Python syntax errors or undefined names
91-
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
103+
flake8 ./playwright --count --select=E9,F63,F7,F82 --show-source --statistics
92104
# 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 }}
105+
flake8 ./playwright --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
98106
99107
- name: Extract branch name
100108
run: |
101109
echo "branch_name=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
102110
id: extract_branch
103111

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