Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9339103
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
7 KB
Subscribers
None
View Options
diff --git a/jobs/templates/swh-cypress.groovy b/jobs/templates/swh-cypress.groovy
index 4f0a7d0..5fc3655 100644
--- a/jobs/templates/swh-cypress.groovy
+++ b/jobs/templates/swh-cypress.groovy
@@ -1,108 +1,110 @@
pipeline {{
agent {{ label '{docker-image}' }}
environment {{
PHAB_CONDUIT_URL = 'https://forge.softwareheritage.org/api/'
}}
stages {{
stage('Checkout') {{
steps {{
withCredentials([
string(credentialsId: 'swh-public-ci',
variable: 'PHAB_CONDUIT_TOKEN')]) {{
sh '''
if [ -n "$PHID" ]; then
echo "{{
\\\"buildTargetPHID\\\": \\\"$PHID\\\",
\\\"artifactKey\\\": \\\"link.jenkins\\\",
\\\"artifactType\\\": \\\"uri\\\",
\\\"artifactData\\\": {{
\\\"uri\\\": \\\"$BUILD_URL\\\",
\\\"name\\\": \\\"Jenkins\\\",
\\\"ui.external\\\": true
}}
}}" | arc call-conduit --conduit-uri $PHAB_CONDUIT_URL --conduit-token $PHAB_CONDUIT_TOKEN harbormaster.createartifact
python3 -m pyarcanist send-message work $PHID
fi
'''
}}
checkout([$class: 'GitSCM',
branches: [[name: "${{params.REVISION}}"]],
doGenerateSubmoduleConfigurations: false,
extensions: [],
gitTool: 'Default',
submoduleCfg: [],
userRemoteConfigs: [[url: 'https://forge.softwareheritage.org/source/{display-name}.git']],
browser: [$class: 'Phabricator', repoUrl: 'https://forge.softwareheritage.org', repo: '{name}']
])
}}
}}
stage('Setup environment') {{
steps {{
sh '''#!/bin/bash
python3 -m pip install --user -e .[testing]
yarn install && yarn build-test && yarn run cypress install
'''
}}
}}
stage('Run cypress tests') {{
steps {{
sh '''#!/bin/bash
+ set -e
export PYTHONPATH=$PWD
python3 swh/web/manage.py migrate --settings=swh.web.settings.tests
python3 swh/web/manage.py createcachetable --settings=swh.web.settings.tests
cat swh/web/tests/create_test_admin.py | python3 swh/web/manage.py shell --settings=swh.web.settings.tests
python3 swh/web/manage.py runserver --nostatic --settings=swh.web.settings.tests &
wait-for-it localhost:5004
yarn run cypress run
yarn run mochawesome
+ yarn run nyc-report
'''
}}
}}
}}
post {{
always {{
withCredentials([
string(credentialsId: 'swh-public-ci',
variable: 'PHAB_CONDUIT_TOKEN')]) {{
withEnv(["JOBSTATUS=${{currentBuild.currentResult}}"]) {{
sh '''
if [ "$JOBSTATUS" = "SUCCESS" ]; then
MSGTYPE=pass
else
MSGTYPE=fail
fi
echo "Current job status is $JOBSTATUS -> $MGSTYPE"
if [ -n "$PHID" ]; then
python3 -m pyarcanist send-message $MSGTYPE $PHID
fi
'''
}}
}}
publishHTML (target: [
allowMissing: true,
alwaysLinkToLastBuild: false,
keepAll: true,
reportDir: 'cypress/mochawesome/report',
reportFiles: 'mochawesome.html',
reportName: "Mochawesome Tests Report"
])
publishHTML (target: [
allowMissing: true,
alwaysLinkToLastBuild: false,
keepAll: true,
reportDir: 'cypress/coverage/lcov-report',
reportFiles: 'index.html',
reportName: "Istanbul Code Coverage"
])
}}
}}
}}
diff --git a/jobs/templates/swh-cypress.yaml b/jobs/templates/swh-cypress.yaml
index fe3d9d8..df4a263 100644
--- a/jobs/templates/swh-cypress.yaml
+++ b/jobs/templates/swh-cypress.yaml
@@ -1,99 +1,97 @@
- job-template:
name: "{name}/cypress"
display-name: "master branch (cypress)"
project-type: pipeline
docker-image: swh-cypress
triggers:
- timed: '@daily'
sandbox: true
auth-token: 'ph4br1cat0r'
properties:
- build-discarder:
num-to-keep: 20
parameters:
- git-parameter:
name: REVISION
type: PT_REVISION
defaultValue: master
description: Git revision to build.
- string:
name: PHID
description: PHID of the Phabricator target object on which results will be reported.
dsl:
!include-raw: swh-cypress.groovy
- job-template:
name: "{name}/cypress-diff"
display-name: 'Phab. Diff (cypress)'
docker-image: swh-cypress
node: "{docker-image}"
auth-token: ph4br1cat0r
parameters:
- string:
name: REPO
description: PHID of the Diffusion repository
- string:
name: PHID
description: PHID of the Target object
- string:
name: DIFF_ID
description: ID of the Diff patch to apply, if any
scm:
- git:
url: https://forge.softwareheritage.org/source/{display-name}.git
branches:
- origin/master
wrappers:
- phabricator-differential:
apply-to-master: true
patch-with-force-flag: true
builders:
- shell: |
echo "Run cypress for:"
echo " REPO=$REPO"
echo " PHID=$PHID"
echo " DIFF_ID=$DIFF_ID"
- shell: |
#!/bin/bash
set -e
- python3 -m venv ~/swh-web-env
- source ~/swh-web-env/bin/activate
- pip3 install wheel
- pip3 install -e .[testing]
+ python3 -m pip install --user -e .[testing]
yarn install && yarn build-test && yarn run cypress install
export PYTHONPATH=$PWD
python3 swh/web/manage.py migrate --settings=swh.web.settings.tests
python3 swh/web/manage.py createcachetable --settings=swh.web.settings.tests
cat swh/web/tests/create_test_admin.py | python3 swh/web/manage.py shell --settings=swh.web.settings.tests
python3 swh/web/manage.py runserver --nostatic --settings=swh.web.settings.tests &
wait-for-it localhost:5004
yarn run cypress run
yarn run mochawesome
+ yarn run nyc-report
publishers:
- phabricator:
uberalls-enabled: false
comment-on-success: true
comment-with-console-link-on-failure: true
process-lint: true
lint-file: .phabricator-lint
lint-file-size: 1000000
- html-publisher:
name: 'Mochawesome Tests Report'
dir: 'cypress/mochawesome/report'
files: 'mochawesome.html'
keep-all: true
allow-missing: true
link-to-last-build: false
- html-publisher:
name: 'Istanbul Code Coverage'
dir: 'cypress/coverage/lcov-report'
files: 'index.html'
keep-all: true
allow-missing: true
link-to-last-build: false
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Jul 4 2025, 9:25 AM (5 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3300639
Attached To
rCJSWH Jenkins jobs
Event Timeline
Log In to Comment