build(deps): bump django from 5.0.9 to 5.0.11 in /server #409
Google Cloud Build / hopic-cloudbuild-trigger (pht-01hp04dtnkf)
succeeded
Jan 14, 2025 in 3m 49s
Summary
Build Information
Trigger | hopic-cloudbuild-trigger |
Build | 45441736-8464-47ab-b0c9-3edbdf08ead2 |
Start | 2025-01-14T14:38:34-08:00 |
Duration | 3m48.1s |
Status | SUCCESS |
Steps
Step | Status | Duration |
---|---|---|
Make .env.cloud_build for subsequent steps | SUCCESS | 6.005s |
Run tests | SUCCESS | 2m54.952s |
Run format checks | SUCCESS | 27.371s |
Upload test coverage reports to Google Cloud Storage | SUCCESS | 14.85s |
Build and push app and management image if main | SUCCESS | 660ms |
Details
starting build "45441736-8464-47ab-b0c9-3edbdf08ead2"
FETCHSOURCE
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in /workspace/.git/
From https://github.com/PHACDataHub/cpho-phase2
* branch 6c22b4c09758e5b14e41921426cb7d91107492fd -> FETCH_HEAD
HEAD is now at 6c22b4c build(deps): bump django from 5.0.9 to 5.0.11 in /server
GitCommit:
6c22b4c09758e5b14e41921426cb7d91107492fd
SETUPBUILD
BUILD
Starting Step #0 - "Make .env.cloud_build for subsequent steps"
Step #0 - "Make .env.cloud_build for subsequent steps": Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #0 - "Make .env.cloud_build for subsequent steps": Write .env.cloud_build to disk, to provide consistent project configuration (no secrets) in subsequent steps
Step #0 - "Make .env.cloud_build for subsequent steps": Updated property [core/project].
Step #0 - "Make .env.cloud_build for subsequent steps": WARNING: Property validation for compute/region was skipped.
Step #0 - "Make .env.cloud_build for subsequent steps": Updated property [compute/region].
Finished Step #0 - "Make .env.cloud_build for subsequent steps"
Starting Step #1 - "Run tests"
Step #1 - "Run tests": Already have image (with digest): gcr.io/cloud-builders/docker
Step #1 - "Run tests": Get cloud build project configuration values
Step #1 - "Run tests": Make globally writable coverge dir, to be mounted as a volume on the test container
Step #1 - "Run tests": Build images for testing, run tests and create report
Step #1 - "Run tests": time="2025-01-14T22:38:45Z" level=warning msg="/workspace/docker-compose.run-tests.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
Step #1 - "Run tests": db Pulling
Step #1 - "Run tests": 96526aa774ef Pulling fs layer
Step #1 - "Run tests": cae7778f1ca2 Pulling fs layer
Step #1 - "Run tests": a068e763669a Pulling fs layer
Step #1 - "Run tests": 0787333105a2 Pulling fs layer
Step #1 - "Run tests": e1c22c2c0cb8 Pulling fs layer
Step #1 - "Run tests": 5eaf5c39276d Pulling fs layer
Step #1 - "Run tests": 03ec842f1e62 Pulling fs layer
Step #1 - "Run tests": 1c5e4ba76017 Pulling fs layer
Step #1 - "Run tests": 0787333105a2 Waiting
Step #1 - "Run tests": e1c22c2c0cb8 Waiting
Step #1 - "Run tests": 5eaf5c39276d Waiting
Step #1 - "Run tests": 03ec842f1e62 Waiting
Step #1 - "Run tests": 1c5e4ba76017 Waiting
Step #1 - "Run tests": cae7778f1ca2 Downloading [===============================> ] 792B/1.265kB
Step #1 - "Run tests": cae7778f1ca2 Download complete
Step #1 - "Run tests": 96526aa774ef Downloading [> ] 34.37kB/3.402MB
Step #1 - "Run tests": a068e763669a Downloading [==================================================>] 116B/116B
Step #1 - "Run tests": a068e763669a Verifying Checksum
Step #1 - "Run tests": a068e763669a Download complete
Step #1 - "Run tests": 96526aa774ef Download complete
Step #1 - "Run tests": 96526aa774ef Extracting [> ] 65.54kB/3.402MB
Step #1 - "Run tests": 96526aa774ef Extracting [======================> ] 1.507MB/3.402MB
Step #1 - "Run tests": 96526aa774ef Extracting [==================================================>] 3.402MB/3.402MB
Step #1 - "Run tests": 96526aa774ef Extracting [==================================================>] 3.402MB/3.402MB
Step #1 - "Run tests": 96526aa774ef Pull complete
Step #1 - "Run tests": cae7778f1ca2 Extracting [==================================================>] 1.265kB/1.265kB
Step #1 - "Run tests": cae7778f1ca2 Extracting [==================================================>] 1.265kB/1.265kB
Step #1 - "Run tests": cae7778f1ca2 Pull complete
Step #1 - "Run tests": a068e763669a Extracting [==================================================>] 116B/116B
Step #1 - "Run tests": a068e763669a Extracting [==================================================>] 116B/116B
Step #1 - "Run tests": a068e763669a Pull complete
Step #1 - "Run tests": 5eaf5c39276d Downloading [==================================================>] 129B/129B
Step #1 - "Run tests": 5eaf5c39276d Verifying Checksum
Step #1 - "Run tests": 5eaf5c39276d Download complete
Step #1 - "Run tests": e1c22c2c0cb8 Downloading [====> ] 792B/9.195kB
Step #1 - "Run tests": e1c22c2c0cb8 Downloading [==================================================>] 9.195kB/9.195kB
Step #1 - "Run tests": e1c22c2c0cb8 Verifying Checksum
Step #1 - "Run tests": e1c22c2c0cb8 Download complete
Step #1 - "Run tests": 0787333105a2 Downloading [> ] 524.7kB/89.7MB
Step #1 - "Run tests": 0787333105a2 Downloading [====> ] 8.446MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Downloading [==========> ] 19.01MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Downloading [================> ] 29.59MB/89.7MB
Step #1 - "Run tests": 1c5e4ba76017 Downloading [========> ] 792B/4.783kB
Step #1 - "Run tests": 1c5e4ba76017 Downloading [==================================================>] 4.783kB/4.783kB
Step #1 - "Run tests": 1c5e4ba76017 Verifying Checksum
Step #1 - "Run tests": 1c5e4ba76017 Download complete
Step #1 - "Run tests": 03ec842f1e62 Downloading [==================================================>] 169B/169B
Step #1 - "Run tests": 03ec842f1e62 Verifying Checksum
Step #1 - "Run tests": 03ec842f1e62 Download complete
Step #1 - "Run tests": 0787333105a2 Downloading [======================> ] 40.17MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Downloading [============================> ] 50.74MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Downloading [=================================> ] 59.73MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Downloading [=======================================> ] 70.31MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Downloading [============================================> ] 80.36MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Verifying Checksum
Step #1 - "Run tests": 0787333105a2 Download complete
Step #1 - "Run tests": 0787333105a2 Extracting [> ] 557.1kB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [=> ] 2.785MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [===> ] 6.128MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [=====> ] 10.03MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [=======> ] 13.93MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [=========> ] 17.83MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [===========> ] 21.17MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [=============> ] 25.07MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [================> ] 28.97MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [==================> ] 32.87MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [====================> ] 36.21MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [=====================> ] 37.88MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [======================> ] 40.11MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [=======================> ] 42.89MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [=========================> ] 45.12MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [===========================> ] 49.02MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [=============================> ] 52.36MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [===============================> ] 56.26MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [================================> ] 58.49MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [=================================> ] 59.6MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [==================================> ] 62.39MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [====================================> ] 65.73MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [======================================> ] 69.07MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [========================================> ] 72.42MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [==========================================> ] 75.76MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [===========================================> ] 77.43MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [=============================================> ] 81.33MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [===============================================> ] 85.23MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [=================================================> ] 88.57MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Extracting [==================================================>] 89.7MB/89.7MB
Step #1 - "Run tests": 0787333105a2 Pull complete
Step #1 - "Run tests": e1c22c2c0cb8 Extracting [==================================================>] 9.195kB/9.195kB
Step #1 - "Run tests": e1c22c2c0cb8 Extracting [==================================================>] 9.195kB/9.195kB
Step #1 - "Run tests": e1c22c2c0cb8 Pull complete
Step #1 - "Run tests": 5eaf5c39276d Extracting [==================================================>] 129B/129B
Step #1 - "Run tests": 5eaf5c39276d Extracting [==================================================>] 129B/129B
Step #1 - "Run tests": 5eaf5c39276d Pull complete
Step #1 - "Run tests": 03ec842f1e62 Extracting [==================================================>] 169B/169B
Step #1 - "Run tests": 03ec842f1e62 Extracting [==================================================>] 169B/169B
Step #1 - "Run tests": 03ec842f1e62 Pull complete
Step #1 - "Run tests": 1c5e4ba76017 Extracting [==================================================>] 4.783kB/4.783kB
Step #1 - "Run tests": 1c5e4ba76017 Extracting [==================================================>] 4.783kB/4.783kB
Step #1 - "Run tests": 1c5e4ba76017 Pull complete
Step #1 - "Run tests": db Pulled
Step #1 - "Run tests": Service server Building
Step #1 - "Run tests": #0 building with "default" instance using docker driver
Step #1 - "Run tests":
Step #1 - "Run tests": #1 [server internal] load build definition from Dockerfile.prod
Step #1 - "Run tests": #1 transferring dockerfile: 1.92kB done
Step #1 - "Run tests": #1 DONE 0.0s
Step #1 - "Run tests":
Step #1 - "Run tests": #2 [server internal] load .dockerignore
Step #1 - "Run tests": #2 transferring context: 229B done
Step #1 - "Run tests": #2 DONE 0.0s
Step #1 - "Run tests":
Step #1 - "Run tests": #3 [server internal] load metadata for docker.io/library/python:3.11-bookworm
Step #1 - "Run tests": #3 ...
Step #1 - "Run tests":
Step #1 - "Run tests": #4 [server internal] load metadata for gcr.io/distroless/python3-debian12:latest
Step #1 - "Run tests": #4 DONE 0.8s
Step #1 - "Run tests":
Step #1 - "Run tests": #3 [server internal] load metadata for docker.io/library/python:3.11-bookworm
Step #1 - "Run tests": #3 DONE 2.4s
Step #1 - "Run tests":
Step #1 - "Run tests": #5 [server build_env 1/8] FROM docker.io/library/python:3.11-bookworm@sha256:0275032a0b0378ce0ad8cec6a548b48ad6dc4085dd749cefd0b60036ab90a0ab
Step #1 - "Run tests": #5 resolve docker.io/library/python:3.11-bookworm@sha256:0275032a0b0378ce0ad8cec6a548b48ad6dc4085dd749cefd0b60036ab90a0ab 0.0s done
Step #1 - "Run tests": #5 sha256:0b05cfbfd931ec44bdfe5c016e7766cf6d207f68476dbacb2929dafe05f5ec69 2.33kB / 2.33kB done
Step #1 - "Run tests": #5 sha256:0275032a0b0378ce0ad8cec6a548b48ad6dc4085dd749cefd0b60036ab90a0ab 9.08kB / 9.08kB done
Step #1 - "Run tests": #5 sha256:d7a93f6b0abfed407a4419f886a2ad663566b4445210060238233b004b06e504 6.18kB / 6.18kB done
Step #1 - "Run tests": #5 ...
Step #1 - "Run tests":
Step #1 - "Run tests": #6 [server internal] load build context
Step #1 - "Run tests": #6 transferring context: 2.86MB 0.1s done
Step #1 - "Run tests": #6 DONE 0.1s
Step #1 - "Run tests":
Step #1 - "Run tests": #7 [server stage-1 1/4] FROM gcr.io/distroless/python3-debian12@sha256:d9fd857eb4a7639c5de33a65582aebe0339bd4e15e2551de27a1d95f73aa0a82
Step #1 - "Run tests": #7 resolve gcr.io/distroless/python3-debian12@sha256:d9fd857eb4a7639c5de33a65582aebe0339bd4e15e2551de27a1d95f73aa0a82 0.0s done
Step #1 - "Run tests": #7 sha256:688513194d7a0f0d77e4a3692748d21c4ccd1af6a5ff9012f18f053ed9573c13 104.24kB / 104.24kB 0.2s done
Step #1 - "Run tests": #7 sha256:efa9d1d5d3a286c60a7261496166fdf31cec2284dafe7eef7cda89eba2f675d6 541.99kB / 541.99kB 0.3s done
Step #1 - "Run tests": #7 sha256:d9fd857eb4a7639c5de33a65582aebe0339bd4e15e2551de27a1d95f73aa0a82 673B / 673B done
Step #1 - "Run tests": #7 sha256:27b819efd787cd7e10f43ee159a6dacfb2c81776785dfe7a0ef9d095d9d8eb0d 6.66kB / 6.66kB done
Step #1 - "Run tests": #7 sha256:4b1451b674deb21da5dc94bdc2469180f96716e1ce20f89ce21df3342208aa9c 4.81kB / 4.81kB done
Step #1 - "Run tests": #7 sha256:bfb59b82a9b65e47d485e53b3e815bca3b3e21a095bd0cb88ced9ac0b48062bf 13.36kB / 13.36kB 0.3s done
Step #1 - "Run tests": #7 extracting sha256:688513194d7a0f0d77e4a3692748d21c4ccd1af6a5ff9012f18f053ed9573c13 done
Step #1 - "Run tests": #7 sha256:a62778643d563b511190663ef9a77c30d46d282facfdce4f3a7aecc03423c1f3 0B / 67B 0.3s
Step #1 - "Run tests": #7 extracting sha256:bfb59b82a9b65e47d485e53b3e815bca3b3e21a095bd0cb88ced9ac0b48062bf
Step #1 - "Run tests": #7 sha256:a62778643d563b511190663ef9a77c30d46d282facfdce4f3a7aecc03423c1f3 67B / 67B 0.4s done
Step #1 - "Run tests": #7 extracting sha256:bfb59b82a9b65e47d485e53b3e815bca3b3e21a095bd0cb88ced9ac0b48062bf done
Step #1 - "Run tests": #7 extracting sha256:efa9d1d5d3a286c60a7261496166fdf31cec2284dafe7eef7cda89eba2f675d6
Step #1 - "Run tests": #7 sha256:7c12895b777bcaa8ccae0605b4de635b68fc32d60fa08f421dc3818bf55ee212 188B / 188B 0.5s done
Step #1 - "Run tests": #7 sha256:3214acf345c0cc6bbdb56b698a41ccdefc624a09d6beb0d38b5de0b2303ecaf4 123B / 123B 0.5s done
Step #1 - "Run tests": #7 sha256:0bab15eea81d0fe6ab56ebf5fba14e02c4c1775a7f7436fbddd3505add4e18fa 0B / 93B 0.5s
Step #1 - "Run tests": #7 extracting sha256:efa9d1d5d3a286c60a7261496166fdf31cec2284dafe7eef7cda89eba2f675d6 0.2s done
Step #1 - "Run tests": #7 sha256:5664b15f108bf9436ce3312090a767300800edbbfd4511aa1a6d64357024d5dd 168B / 168B 0.5s done
Step #1 - "Run tests": #7 sha256:da7816fa955ea24533c388143c78804c28682eef99b4ee3723b548c70148bba6 0B / 321B 0.6s
Step #1 - "Run tests": #7 sha256:4aa0ea1413d37a58615488592a0b827ea4b2e48fa5a77cf707d0e35f025e613f 0B / 385B 0.6s
Step #1 - "Run tests": #7 sha256:0bab15eea81d0fe6ab56ebf5fba14e02c4c1775a7f7436fbddd3505add4e18fa 93B / 93B 0.7s done
Step #1 - "Run tests": #7 sha256:4aa0ea1413d37a58615488592a0b827ea4b2e48fa5a77cf707d0e35f025e613f 385B / 385B 0.7s done
Step #1 - "Run tests": #7 extracting sha256:a62778643d563b511190663ef9a77c30d46d282facfdce4f3a7aecc03423c1f3 done
Step #1 - "Run tests": #7 sha256:701c983262e9aa33e628c7928b9351c0c69c5e2c6b37051d2e03ad6027c5bff6 0B / 5.84MB 0.7s
Step #1 - "Run tests": #7 sha256:9aee425378d2c16cd44177dc54a274b312897f5860a8e78fdfda555a0d79dd71 0B / 130.50kB 0.7s
Step #1 - "Run tests": #7 extracting sha256:7c12895b777bcaa8ccae0605b4de635b68fc32d60fa08f421dc3818bf55ee212 done
Step #1 - "Run tests": #7 sha256:da7816fa955ea24533c388143c78804c28682eef99b4ee3723b548c70148bba6 321B / 321B 0.8s done
Step #1 - "Run tests": #7 sha256:221438ca359c95b5f7ecb07541b094ae1e5ce63442a404e8a38b6d84b6a7bcb4 0B / 2.83MB 0.8s
Step #1 - "Run tests": #7 extracting sha256:3214acf345c0cc6bbdb56b698a41ccdefc624a09d6beb0d38b5de0b2303ecaf4 done
Step #1 - "Run tests": #7 extracting sha256:5664b15f108bf9436ce3312090a767300800edbbfd4511aa1a6d64357024d5dd done
Step #1 - "Run tests": #7 sha256:701c983262e9aa33e628c7928b9351c0c69c5e2c6b37051d2e03ad6027c5bff6 5.84MB / 5.84MB 1.0s done
Step #1 - "Run tests": #7 sha256:9aee425378d2c16cd44177dc54a274b312897f5860a8e78fdfda555a0d79dd71 130.50kB / 130.50kB 0.9s done
Step #1 - "Run tests": #7 sha256:6f971e93c4e27ad22ca1282ffc93145299d16f4d4771aecd572faf51d5dbcc7d 0B / 150.79kB 1.0s
Step #1 - "Run tests": #7 extracting sha256:0bab15eea81d0fe6ab56ebf5fba14e02c4c1775a7f7436fbddd3505add4e18fa
Step #1 - "Run tests": #7 sha256:221438ca359c95b5f7ecb07541b094ae1e5ce63442a404e8a38b6d84b6a7bcb4 2.83MB / 2.83MB 1.1s done
Step #1 - "Run tests": #7 sha256:6f971e93c4e27ad22ca1282ffc93145299d16f4d4771aecd572faf51d5dbcc7d 150.79kB / 150.79kB 1.1s done
Step #1 - "Run tests": #7 extracting sha256:0bab15eea81d0fe6ab56ebf5fba14e02c4c1775a7f7436fbddd3505add4e18fa done
Step #1 - "Run tests": #7 sha256:0cb5c07f8edd19d34444bcdceaa6039064787719b3b3c7cb3a8117c517032cb7 0B / 65.09kB 1.2s
Step #1 - "Run tests": #7 sha256:c83c31ce41af06fcf7f4c2fa7ef77d0322082e8b29e43b6151966c887c287892 911.81kB / 911.81kB 1.2s
Step #1 - "Run tests": #7 extracting sha256:4aa0ea1413d37a58615488592a0b827ea4b2e48fa5a77cf707d0e35f025e613f done
Step #1 - "Run tests": #7 sha256:95d5d471a0e3acff350d6c49b1535c25aaddba2abbed47ec53a4651fc5f8aa24 0B / 55.07kB 1.2s
Step #1 - "Run tests": #7 sha256:c83c31ce41af06fcf7f4c2fa7ef77d0322082e8b29e43b6151966c887c287892 911.81kB / 911.81kB 1.2s done
Step #1 - "Run tests": #7 extracting sha256:da7816fa955ea24533c388143c78804c28682eef99b4ee3723b548c70148bba6 done
Step #1 - "Run tests": #7 extracting sha256:9aee425378d2c16cd44177dc54a274b312897f5860a8e78fdfda555a0d79dd71
Step #1 - "Run tests": #7 sha256:e5770877aff610e4620deb192a20b89b1a718701b990b3f9e2545cf7ca8f3987 0B / 966.31kB 1.3s
Step #1 - "Run tests": #7 sha256:0cb5c07f8edd19d34444bcdceaa6039064787719b3b3c7cb3a8117c517032cb7 65.09kB / 65.09kB 1.3s done
Step #1 - "Run tests": #7 sha256:95d5d471a0e3acff350d6c49b1535c25aaddba2abbed47ec53a4651fc5f8aa24 55.07kB / 55.07kB 1.3s done
Step #1 - "Run tests": #7 extracting sha256:9aee425378d2c16cd44177dc54a274b312897f5860a8e78fdfda555a0d79dd71 0.0s done
Step #1 - "Run tests": #7 extracting sha256:701c983262e9aa33e628c7928b9351c0c69c5e2c6b37051d2e03ad6027c5bff6 0.1s
Step #1 - "Run tests": #7 sha256:84845657fbc51b87f896bc9e70162d65bc248b90815839470fddcda6bf8eaf42 0B / 181.12kB 1.4s
Step #1 - "Run tests": #7 sha256:f880a3a1bed0e75df7b9a1d0869f5ed8530d2ce807bed248b367e401930d5061 0B / 243.98kB 1.4s
Step #1 - "Run tests": #7 sha256:e5770877aff610e4620deb192a20b89b1a718701b990b3f9e2545cf7ca8f3987 966.31kB / 966.31kB 1.4s done
Step #1 - "Run tests": #7 sha256:ed08a122be66b08fcebff47c1a3b5961399118abde190b1a3d9e4614ae67b4e7 0B / 1.04MB 1.5s
Step #1 - "Run tests": #7 extracting sha256:701c983262e9aa33e628c7928b9351c0c69c5e2c6b37051d2e03ad6027c5bff6 0.3s done
Step #1 - "Run tests": #7 sha256:84845657fbc51b87f896bc9e70162d65bc248b90815839470fddcda6bf8eaf42 181.12kB / 181.12kB 1.5s done
Step #1 - "Run tests": #7 sha256:f880a3a1bed0e75df7b9a1d0869f5ed8530d2ce807bed248b367e401930d5061 243.98kB / 243.98kB 1.5s done
Step #1 - "Run tests": #7 sha256:590f3f1806576beec0ffc9f43491ceb1b354fe8dd7eb34d54b7cac0975339e56 0B / 34.48kB 1.6s
Step #1 - "Run tests": #7 sha256:ed08a122be66b08fcebff47c1a3b5961399118abde190b1a3d9e4614ae67b4e7 1.04MB / 1.04MB 1.7s done
Step #1 - "Run tests": #7 extracting sha256:221438ca359c95b5f7ecb07541b094ae1e5ce63442a404e8a38b6d84b6a7bcb4
Step #1 - "Run tests": #7 sha256:590f3f1806576beec0ffc9f43491ceb1b354fe8dd7eb34d54b7cac0975339e56 34.48kB / 34.48kB 1.7s done
Step #1 - "Run tests": #7 extracting sha256:221438ca359c95b5f7ecb07541b094ae1e5ce63442a404e8a38b6d84b6a7bcb4 0.1s done
Step #1 - "Run tests": #7 extracting sha256:6f971e93c4e27ad22ca1282ffc93145299d16f4d4771aecd572faf51d5dbcc7d 0.0s done
Step #1 - "Run tests": #7 extracting sha256:c83c31ce41af06fcf7f4c2fa7ef77d0322082e8b29e43b6151966c887c287892
Step #1 - "Run tests": #7 extracting sha256:c83c31ce41af06fcf7f4c2fa7ef77d0322082e8b29e43b6151966c887c287892 0.1s done
Step #1 - "Run tests": #7 extracting sha256:0cb5c07f8edd19d34444bcdceaa6039064787719b3b3c7cb3a8117c517032cb7 done
Step #1 - "Run tests": #7 extracting sha256:95d5d471a0e3acff350d6c49b1535c25aaddba2abbed47ec53a4651fc5f8aa24
Step #1 - "Run tests": #7 extracting sha256:95d5d471a0e3acff350d6c49b1535c25aaddba2abbed47ec53a4651fc5f8aa24 done
Step #1 - "Run tests": #7 extracting sha256:e5770877aff610e4620deb192a20b89b1a718701b990b3f9e2545cf7ca8f3987
Step #1 - "Run tests": #7 extracting sha256:e5770877aff610e4620deb192a20b89b1a718701b990b3f9e2545cf7ca8f3987 0.3s done
Step #1 - "Run tests": #7 extracting sha256:84845657fbc51b87f896bc9e70162d65bc248b90815839470fddcda6bf8eaf42 0.0s done
Step #1 - "Run tests": #7 extracting sha256:f880a3a1bed0e75df7b9a1d0869f5ed8530d2ce807bed248b367e401930d5061 0.0s done
Step #1 - "Run tests": #7 extracting sha256:ed08a122be66b08fcebff47c1a3b5961399118abde190b1a3d9e4614ae67b4e7
Step #1 - "Run tests": #7 extracting sha256:ed08a122be66b08fcebff47c1a3b5961399118abde190b1a3d9e4614ae67b4e7 0.2s done
Step #1 - "Run tests": #7 extracting sha256:590f3f1806576beec0ffc9f43491ceb1b354fe8dd7eb34d54b7cac0975339e56 0.0s done
Step #1 - "Run tests": #7 sha256:f793a4be0a15ba5e6a90c47c3daa7e2c1f78905a505c051bb98df345af4e3841 0B / 184.92kB 4.0s
Step #1 - "Run tests": #7 sha256:f793a4be0a15ba5e6a90c47c3daa7e2c1f78905a505c051bb98df345af4e3841 184.92kB / 184.92kB 4.2s done
Step #1 - "Run tests": #7 extracting sha256:f793a4be0a15ba5e6a90c47c3daa7e2c1f78905a505c051bb98df345af4e3841 0.0s done
Step #1 - "Run tests": #7 sha256:588498558164651d733f0e2bf3f67dca89672ec6f1edbbe489d0b1563bf7bbda 0B / 198.27kB 4.3s
Step #1 - "Run tests": #7 sha256:1626fc5dd249961fd0cb9c6f49c438449231cb66ed7a92d7d336c78c98ed0506 0B / 365.96kB 4.3s
Step #1 - "Run tests": #7 sha256:588498558164651d733f0e2bf3f67dca89672ec6f1edbbe489d0b1563bf7bbda 198.27kB / 198.27kB 4.5s
Step #1 - "Run tests": #7 sha256:1626fc5dd249961fd0cb9c6f49c438449231cb66ed7a92d7d336c78c98ed0506 365.96kB / 365.96kB 4.5s done
Step #1 - "Run tests": #7 sha256:02fd24817d0f99f69d0e49e69a5a7edea2be1dcdc91963dce2267a89c6f08627 0B / 105.89kB 4.5s
Step #1 - "Run tests": #7 sha256:588498558164651d733f0e2bf3f67dca89672ec6f1edbbe489d0b1563bf7bbda 198.27kB / 198.27kB 4.5s done
Step #1 - "Run tests": #7 extracting sha256:1626fc5dd249961fd0cb9c6f49c438449231cb66ed7a92d7d336c78c98ed0506
Step #1 - "Run tests": #7 sha256:1717e4ad5483d63bd8b171e41a7f6e835236d87cfe410b1b24ec524b95a6f9d6 0B / 22.74kB 4.6s
Step #1 - "Run tests": #7 sha256:02fd24817d0f99f69d0e49e69a5a7edea2be1dcdc91963dce2267a89c6f08627 105.89kB / 105.89kB 4.7s done
Step #1 - "Run tests": #7 extracting sha256:1626fc5dd249961fd0cb9c6f49c438449231cb66ed7a92d7d336c78c98ed0506 0.2s done
Step #1 - "Run tests": #7 sha256:1717e4ad5483d63bd8b171e41a7f6e835236d87cfe410b1b24ec524b95a6f9d6 22.74kB / 22.74kB 4.7s done
Step #1 - "Run tests": #7 extracting sha256:588498558164651d733f0e2bf3f67dca89672ec6f1edbbe489d0b1563bf7bbda
Step #1 - "Run tests": #7 sha256:ea353c53026aaa174fbc96ebc8408adacaa1c8a7671676fd38ff48849581b905 0B / 182.27kB 4.8s
Step #1 - "Run tests": #7 sha256:57c7c63c9c91e327147540c9b089813bd33a5ea22bfa8fa617d0636bdb9bf5b6 0B / 114.98kB 4.8s
Step #1 - "Run tests": #7 extracting sha256:588498558164651d733f0e2bf3f67dca89672ec6f1edbbe489d0b1563bf7bbda 0.2s done
Step #1 - "Run tests": #7 sha256:ea353c53026aaa174fbc96ebc8408adacaa1c8a7671676fd38ff48849581b905 182.27kB / 182.27kB 5.0s done
Step #1 - "Run tests": #7 sha256:57c7c63c9c91e327147540c9b089813bd33a5ea22bfa8fa617d0636bdb9bf5b6 114.98kB / 114.98kB 4.9s done
Step #1 - "Run tests": #7 sha256:fabe6da26a1fc83bdda2ee32b55354e118089f12ba2108fe46cdb6a28aab5d46 0B / 113.36kB 5.0s
Step #1 - "Run tests": #7 sha256:e62f3f2af8328754c7763f0310a06c2524f4a9bccaa03dbe9db14917c0055c31 0B / 10.05kB 5.0s
Step #1 - "Run tests": #7 extracting sha256:02fd24817d0f99f69d0e49e69a5a7edea2be1dcdc91963dce2267a89c6f08627 0.0s done
Step #1 - "Run tests": #7 sha256:fabe6da26a1fc83bdda2ee32b55354e118089f12ba2108fe46cdb6a28aab5d46 113.36kB / 113.36kB 5.2s done
Step #1 - "Run tests": #7 sha256:e62f3f2af8328754c7763f0310a06c2524f4a9bccaa03dbe9db14917c0055c31 10.05kB / 10.05kB 5.2s done
Step #1 - "Run tests": #7 sha256:a4a211621ee6cc8ed4b1d3fa64f4aebc61a99f65352eb6023f8c5cea548a719d 0B / 498.90kB 5.3s
Step #1 - "Run tests": #7 sha256:1b66085caf55e9553530ad3c77767d8707f23ef77c41d36fd05e9991c9fa098c 0B / 43.57kB 5.3s
Step #1 - "Run tests": #7 extracting sha256:1717e4ad5483d63bd8b171e41a7f6e835236d87cfe410b1b24ec524b95a6f9d6 done
Step #1 - "Run tests": #7 sha256:a4a211621ee6cc8ed4b1d3fa64f4aebc61a99f65352eb6023f8c5cea548a719d 498.90kB / 498.90kB 5.4s done
Step #1 - "Run tests": #7 sha256:1b66085caf55e9553530ad3c77767d8707f23ef77c41d36fd05e9991c9fa098c 43.57kB / 43.57kB 5.4s done
Step #1 - "Run tests": #7 sha256:c0e669e4287dfc4521862b624ded776f0febab5b2b4ae94ca1085bd0311544d0 0B / 225.10kB 5.5s
Step #1 - "Run tests": #7 sha256:39471dcbc8128839153b809cc07480ad47bcdff6642cbe969adca6b118afe914 0B / 50.95kB 5.5s
Step #1 - "Run tests": #7 extracting sha256:57c7c63c9c91e327147540c9b089813bd33a5ea22bfa8fa617d0636bdb9bf5b6
Step #1 - "Run tests": #7 extracting sha256:57c7c63c9c91e327147540c9b089813bd33a5ea22bfa8fa617d0636bdb9bf5b6 0.0s done
Step #1 - "Run tests": #7 sha256:39471dcbc8128839153b809cc07480ad47bcdff6642cbe969adca6b118afe914 50.95kB / 50.95kB 5.7s done
Step #1 - "Run tests": #7 sha256:5a278cb4e0081c3433a1a5c3d769568a872ead3918e08560230a3b9f26e358da 0B / 109.87kB 5.7s
Step #1 - "Run tests": #7 extracting sha256:ea353c53026aaa174fbc96ebc8408adacaa1c8a7671676fd38ff48849581b905 done
Step #1 - "Run tests": #7 sha256:c0e669e4287dfc4521862b624ded776f0febab5b2b4ae94ca1085bd0311544d0 225.10kB / 225.10kB 5.7s done
Step #1 - "Run tests": #7 sha256:5a278cb4e0081c3433a1a5c3d769568a872ead3918e08560230a3b9f26e358da 109.87kB / 109.87kB 5.9s done
Step #1 - "Run tests": #7 sha256:9039d7835184de356b45040e5d973b3168580a50bd1c711e43cf60895d5d66ee 0B / 28.13kB 5.9s
Step #1 - "Run tests": #7 sha256:9039d7835184de356b45040e5d973b3168580a50bd1c711e43cf60895d5d66ee 28.13kB / 28.13kB 5.9s done
Step #1 - "Run tests": #7 extracting sha256:fabe6da26a1fc83bdda2ee32b55354e118089f12ba2108fe46cdb6a28aab5d46 0.0s done
Step #1 - "Run tests": #7 sha256:410a9868fb57f41b250e014b4a5ad6d4ada6302e9619d0fa603db619e17c3993 0B / 1.45MB 6.0s
Step #1 - "Run tests": #7 sha256:1c9591359952c30c5d934f8b8a8eec0c63d535748d15cbd7f2d2895238d00339 0B / 2.84MB 6.0s
Step #1 - "Run tests": #7 sha256:410a9868fb57f41b250e014b4a5ad6d4ada6302e9619d0fa603db619e17c3993 1.45MB / 1.45MB 6.1s done
Step #1 - "Run tests": #7 sha256:1c9591359952c30c5d934f8b8a8eec0c63d535748d15cbd7f2d2895238d00339 688.13kB / 2.84MB 6.2s
Step #1 - "Run tests": #7 extracting sha256:e62f3f2af8328754c7763f0310a06c2524f4a9bccaa03dbe9db14917c0055c31 0.0s done
Step #1 - "Run tests": #7 sha256:1c9591359952c30c5d934f8b8a8eec0c63d535748d15cbd7f2d2895238d00339 2.84MB / 2.84MB 6.2s done
Step #1 - "Run tests": #7 sha256:7a42a9c95e766a1bed9548e61830f55670130b6aa06b7f72589004fc29f7f0e5 0B / 3.15MB 6.3s
Step #1 - "Run tests": #7 sha256:4ebf3752ffbad490f1bcf65fc42a8e6fa8b45098f2b5d4b24e6dfabf49e28dac 0B / 173B 6.3s
Step #1 - "Run tests": #7 extracting sha256:a4a211621ee6cc8ed4b1d3fa64f4aebc61a99f65352eb6023f8c5cea548a719d
Step #1 - "Run tests": #7 sha256:7a42a9c95e766a1bed9548e61830f55670130b6aa06b7f72589004fc29f7f0e5 3.15MB / 3.15MB 6.5s done
Step #1 - "Run tests": #7 sha256:4ebf3752ffbad490f1bcf65fc42a8e6fa8b45098f2b5d4b24e6dfabf49e28dac 173B / 173B 6.4s done
Step #1 - "Run tests": #7 extracting sha256:a4a211621ee6cc8ed4b1d3fa64f4aebc61a99f65352eb6023f8c5cea548a719d 0.2s done
Step #1 - "Run tests": #7 extracting sha256:1b66085caf55e9553530ad3c77767d8707f23ef77c41d36fd05e9991c9fa098c done
Step #1 - "Run tests": #7 extracting sha256:39471dcbc8128839153b809cc07480ad47bcdff6642cbe969adca6b118afe914 done
Step #1 - "Run tests": #7 extracting sha256:c0e669e4287dfc4521862b624ded776f0febab5b2b4ae94ca1085bd0311544d0
Step #1 - "Run tests": #7 extracting sha256:c0e669e4287dfc4521862b624ded776f0febab5b2b4ae94ca1085bd0311544d0 0.0s done
Step #1 - "Run tests": #7 extracting sha256:5a278cb4e0081c3433a1a5c3d769568a872ead3918e08560230a3b9f26e358da
Step #1 - "Run tests": #7 extracting sha256:5a278cb4e0081c3433a1a5c3d769568a872ead3918e08560230a3b9f26e358da 0.0s done
Step #1 - "Run tests": #7 extracting sha256:9039d7835184de356b45040e5d973b3168580a50bd1c711e43cf60895d5d66ee
Step #1 - "Run tests": #7 extracting sha256:9039d7835184de356b45040e5d973b3168580a50bd1c711e43cf60895d5d66ee done
Step #1 - "Run tests": #7 extracting sha256:410a9868fb57f41b250e014b4a5ad6d4ada6302e9619d0fa603db619e17c3993
Step #1 - "Run tests": #7 extracting sha256:410a9868fb57f41b250e014b4a5ad6d4ada6302e9619d0fa603db619e17c3993 0.3s done
Step #1 - "Run tests": #7 extracting sha256:1c9591359952c30c5d934f8b8a8eec0c63d535748d15cbd7f2d2895238d00339
Step #1 - "Run tests": #7 extracting sha256:1c9591359952c30c5d934f8b8a8eec0c63d535748d15cbd7f2d2895238d00339 0.4s done
Step #1 - "Run tests": #7 extracting sha256:7a42a9c95e766a1bed9548e61830f55670130b6aa06b7f72589004fc29f7f0e5
Step #1 - "Run tests": #7 extracting sha256:7a42a9c95e766a1bed9548e61830f55670130b6aa06b7f72589004fc29f7f0e5 0.4s done
Step #1 - "Run tests": #7 extracting sha256:4ebf3752ffbad490f1bcf65fc42a8e6fa8b45098f2b5d4b24e6dfabf49e28dac done
Step #1 - "Run tests": #7 DONE 10.7s
Step #1 - "Run tests":
Step #1 - "Run tests": #5 [server build_env 1/8] FROM docker.io/library/python:3.11-bookworm@sha256:0275032a0b0378ce0ad8cec6a548b48ad6dc4085dd749cefd0b60036ab90a0ab
Step #1 - "Run tests": #5 sha256:fd0410a2d1aece5360035b61b0a60d8d
...
[Logs truncated due to log size limitations. For full logs, see https://console.cloud.google.com/cloud-build/builds;region=northamerica-northeast1/45441736-8464-47ab-b0c9-3edbdf08ead2?project=791221659942.]
...
ntry_id, is_deleted, deletion_time, labels)=(98, 0000, f, , ) already exists.
Step #1 - "Run tests": db-1 | 2025-01-14 22:41:14.253 UTC [64] STATEMENT: INSERT INTO "cpho_benchmarking" ("indicator_id", "unit", "oecd_country_id", "value", "year", "comparison_to_oecd_avg", "labels", "methodology_differences", "is_deleted", "deletion_time") VALUES (98, 'rate_per_100k', '0000', 22.533, '2021', 'similar', '', false, false, '') RETURNING "cpho_benchmarking"."id"
Step #1 - "Run tests": server-1 | tests/test_models.py::test_benchmarking_uniqueness PASSED
Step #1 - "Run tests": db-1 | 2025-01-14 22:41:14.304 UTC [64] ERROR: duplicate key value violates unique constraint "cpho_trendanalysis_indicator_id_year_is_del_5ab31900_uniq"
Step #1 - "Run tests": db-1 | 2025-01-14 22:41:14.304 UTC [64] DETAIL: Key (indicator_id, year, is_deleted, deletion_time)=(99, 2021, f, ) already exists.
Step #1 - "Run tests": db-1 | 2025-01-14 22:41:14.304 UTC [64] STATEMENT: INSERT INTO "cpho_trendanalysis" ("indicator_id", "year", "data_point", "line_of_best_fit_point", "trend_segment", "trend", "unit", "data_quality", "data_point_lower_ci", "data_point_upper_ci", "is_deleted", "deletion_time") VALUES (99, '2021', 26.3197264, 3.6367, NULL, 'increasing', NULL, '', 16.3238, 83.4, false, '') RETURNING "cpho_trendanalysis"."id"
Step #1 - "Run tests": server-1 | tests/test_models.py::test_trend_uniqueness PASSED
Step #1 - "Run tests": db-1 | 2025-01-14 22:41:14.353 UTC [64] ERROR: duplicate key value violates unique constraint "cpho_indicatordatum_indicator_id_period_id_d_fc13071d_uniq"
Step #1 - "Run tests": db-1 | 2025-01-14 22:41:14.353 UTC [64] DETAIL: Key (indicator_id, period_id, dimension_type_id, literal_dimension_val, is_deleted, deletion_time)=(100, 7, 5, bar, f, ) already exists.
Step #1 - "Run tests": db-1 | 2025-01-14 22:41:14.353 UTC [64] STATEMENT: INSERT INTO "cpho_indicatordatum" ("indicator_id", "literal_dimension_val", "period_id", "data_quality", "reason_for_null", "value", "value_lower_bound", "value_upper_bound", "value_unit", "value_displayed", "single_year_timeframe", "multi_year_timeframe", "dimension_type_id", "dimension_value_id", "arrow_flag", "is_deleted", "deletion_time") VALUES (100, 'bar', 7, NULL, '', NULL, NULL, NULL, '', NULL, NULL, NULL, 5, NULL, NULL, false, '') RETURNING "cpho_indicatordatum"."id"
Step #1 - "Run tests": server-1 | tests/test_models.py::test_indicator_datum_literal_dimension_uniqueness PASSED
Step #1 - "Run tests": server-1 | tests/test_models.py::test_indicator_datum_version_annotations PASSED
Step #1 - "Run tests": server-1 | tests/test_models.py::test_relevant_periods PASSED
Step #1 - "Run tests": server-1 | tests/test_permissions.py::test_create_indicator_authorization PASSED
Step #1 - "Run tests": server-1 | tests/test_permissions.py::test_indicator_authorization PASSED
Step #1 - "Run tests": server-1 | tests/test_permissions.py::test_indicator_authorization_rule PASSED
Step #1 - "Run tests": server-1 | tests/test_regex_pattterns.py::test_all_regex_patterns PASSED
Step #1 - "Run tests": server-1 | tests/test_relevant_dimensions.py::test_relevant_dimensions PASSED
Step #1 - "Run tests": server-1 | tests/test_soft_delete.py::test_soft_delete PASSED
Step #1 - "Run tests": server-1 | tests/test_sso_behaviour.py::test_new_user_creates_account PASSED
Step #1 - "Run tests": server-1 | tests/test_sso_behaviour.py::test_new_user_healthcan PASSED
Step #1 - "Run tests": server-1 | tests/test_sso_behaviour.py::test_new_user_non_allowed_email_rejected PASSED
Step #1 - "Run tests": server-1 | tests/test_sso_behaviour.py::test_existing_email_uses_existing_account PASSED
Step #1 - "Run tests": server-1 | tests/test_sso_behaviour.py::test_new_user_does_not_create_account_when_flag_enabled PASSED
Step #1 - "Run tests": server-1 | tests/test_sso_behaviour.py::test_new_user_is_created_account_when_flag_disabled PASSED
Step #1 - "Run tests": server-1 | tests/test_submission_statuses.py::test_hso_submitted PASSED
Step #1 - "Run tests": server-1 | tests/test_submission_statuses.py::test_program_submitted PASSED
Step #1 - "Run tests": server-1 | tests/test_submission_statuses.py::test_both_submitted PASSED
Step #1 - "Run tests": server-1 | tests/test_submission_statuses.py::test_both_submitted_with_edit PASSED
Step #1 - "Run tests": server-1 | tests/test_submission_statuses.py::test_hso_submitted_with_edit PASSED
Step #1 - "Run tests": server-1 | tests/test_submission_statuses.py::test_program_submitted_with_edit PASSED
Step #1 - "Run tests": server-1 | tests/test_upload.py::test_import PASSED
Step #1 - "Run tests": server-1 | tests/test_upload_preview.py::test_preview PASSED
Step #1 - "Run tests": server-1 | tests/test_user_management.py::test_list_users PASSED
Step #1 - "Run tests": server-1 | tests/test_user_management.py::test_modify_user PASSED
Step #1 - "Run tests": server-1 | tests/test_user_management.py::test_create_user PASSED
Step #1 - "Run tests": server-1 | tests/test_user_management.py::test_create_user_healthcan PASSED
Step #1 - "Run tests": server-1 | tests/test_user_management.py::test_create_indicator_directory PASSED
Step #1 - "Run tests": server-1 | tests/test_user_management.py::test_edit_indicator_directory PASSED
Step #1 - "Run tests": server-1 | tests/test_user_management.py::test_indicator_directory_home PASSED
Step #1 - "Run tests": server-1 | tests/test_versioning.py::test_indicators_are_versioned PASSED
Step #1 - "Run tests": server-1 | tests/api/test_api_integration.py::test_query_api_via_http PASSED
Step #1 - "Run tests": server-1 | tests/api/test_dataloaders.py::test_promise_behaviour PASSED
Step #1 - "Run tests": server-1 | tests/api/test_dataloaders.py::test_basic_loader PASSED
Step #1 - "Run tests": server-1 | tests/api/test_dataloaders.py::test_submitted_datum_by_indicator_year_loader PASSED
Step #1 - "Run tests": server-1 | Destroying test database for alias 'default'...
Step #1 - "Run tests": server-1 | tests/api/test_schema.py::test_execute_indicator_query PASSED
Step #1 - "Run tests": server-1 |
Step #1 - "Run tests": server-1 | ======================== 74 passed in 72.25s (0:01:12) =========================
Step #1 - "Run tests": server-1 | Name Stmts Miss Cover Missing
Step #1 - "Run tests": server-1 | --------------------------------------------------------------------------
Step #1 - "Run tests": server-1 | api/dataloaders.py 56 28 50% 70-84, 92-106, 114-128, 136-150
Step #1 - "Run tests": server-1 | api/schema.py 13 0 100%
Step #1 - "Run tests": server-1 | api/types.py 85 6 93% 64, 69, 74, 79, 114, 122
Step #1 - "Run tests": server-1 | api/util.py 35 6 83% 41, 58-65
Step #1 - "Run tests": server-1 | api/views.py 44 8 82% 38, 42-52
Step #1 - "Run tests": server-1 | cpho/admin.py 8 0 100%
Step #1 - "Run tests": server-1 | cpho/apps.py 4 0 100%
Step #1 - "Run tests": server-1 | cpho/constants.py 11 0 100%
Step #1 - "Run tests": server-1 | cpho/forms.py 16 0 100%
Step #1 - "Run tests": server-1 | cpho/jinja_helpers.py 89 12 87% 85-88, 100, 105-108, 113-116, 123
Step #1 - "Run tests": server-1 | cpho/management/commands/seed_countries.py 59 24 59% 19-25, 32-43, 54, 76-90, 102, 104
Step #1 - "Run tests": server-1 | cpho/management/commands/stats.py 0 0 100%
Step #1 - "Run tests": server-1 | cpho/model_factories.py 74 4 95% 62, 64-66
Step #1 - "Run tests": server-1 | cpho/models/indicators.py 272 8 97% 31-38, 92-93, 398, 412-415
Step #1 - "Run tests": server-1 | cpho/models/lookups.py 80 3 96% 95, 111, 136
Step #1 - "Run tests": server-1 | cpho/models/metadata.py 41 3 93% 68, 92, 116
Step #1 - "Run tests": server-1 | cpho/models/user.py 40 5 88% 45-51
Step #1 - "Run tests": server-1 | cpho/queries.py 93 10 89% 11, 25, 36-45, 137-143, 217-220
Step #1 - "Run tests": server-1 | cpho/rules.py 70 7 90% 30, 71, 81, 91-94, 100
Step #1 - "Run tests": server-1 | cpho/services.py 53 0 100%
Step #1 - "Run tests": server-1 | cpho/tests.py 1 1 0% 1
Step #1 - "Run tests": server-1 | cpho/text.py 38 11 71% 25-26, 31-33, 46, 53-54, 60-63
Step #1 - "Run tests": server-1 | cpho/translations.py 1 0 100%
Step #1 - "Run tests": server-1 | cpho/urls.py 3 0 100%
Step #1 - "Run tests": server-1 | cpho/util.py 55 3 95% 19, 60, 85
Step #1 - "Run tests": server-1 | cpho/views/auth.py 16 6 62% 12-15, 20-24
Step #1 - "Run tests": server-1 | cpho/views/changelog.py 87 4 95% 26, 102, 156-157
Step #1 - "Run tests": server-1 | cpho/views/export_indicators.py 33 2 94% 28, 74
Step #1 - "Run tests": server-1 | cpho/views/export_metadata.py 31 18 42% 17, 25-28, 31-87
Step #1 - "Run tests": server-1 | cpho/views/indicator_data.py 179 0 100%
Step #1 - "Run tests": server-1 | cpho/views/indicator_metadata.py 218 27 88% 161, 173-193, 201-202, 470, 485-488, 514-540
Step #1 - "Run tests": server-1 | cpho/views/indicators.py 215 8 96% 43, 415-422, 425
Step #1 - "Run tests": server-1 | cpho/views/infobase_export.py 106 0 100%
Step #1 - "Run tests": server-1 | cpho/views/submission.py 92 0 100%
Step #1 - "Run tests": server-1 | cpho/views/upload_indicators.py 230 29 87% 48, 50, 82, 84, 179-180, 189, 195-196, 203, 209-210, 217, 225, 229-233, 257, 264, 276, 283, 305-307, 319-320, 404, 413, 496
Step #1 - "Run tests": server-1 | cpho/views/user_management.py 157 7 96% 105, 108, 118, 132, 138, 175, 296
Step #1 - "Run tests": server-1 | cpho/views/view_util.py 182 19 90% 20, 77, 79, 152, 170, 174, 182, 187-188, 191, 232, 252, 256, 622-632
Step #1 - "Run tests": server-1 | server/auth_backend.py 48 9 81% 39-40, 53, 77, 82-86
Step #1 - "Run tests": server-1 | server/config_util.py 20 0 100%
Step #1 - "Run tests": server-1 | server/fields.py 80 4 95% 58-71
Step #1 - "Run tests": server-1 | server/form_util.py 52 11 79% 41-43, 63, 74, 87, 92, 98-102
Step #1 - "Run tests": server-1 | server/middleware.py 28 4 86% 29-32
Step #1 - "Run tests": server-1 | server/model_util.py 39 1 97% 23
Step #1 - "Run tests": server-1 | server/open_telemetry_util.py 52 52 0% 1-190
Step #1 - "Run tests": server-1 | server/settings.py 82 17 79% 35-39, 63-65, 104-116, 161-162, 273
Step #1 - "Run tests": server-1 | server/urls.py 17 2 88% 21-23
Step #1 - "Run tests": server-1 | --------------------------------------------------------------------------
Step #1 - "Run tests": server-1 | TOTAL 3205 359 89%
Step #1 - "Run tests": server-1 | Wrote JSON report to /cpho/web/coverage/coverage.json
Step #1 - "Run tests": Aborting on container exit...
Step #1 - "Run tests":
�[Kserver-1 exited with code 0
Step #1 - "Run tests": Container workspace-server-1 Stopping
Step #1 - "Run tests": Container workspace-server-1 Stopped
Step #1 - "Run tests": Container workspace-db-1 Stopping
Step #1 - "Run tests": Container workspace-db-1 Stopped
Step #1 - "Run tests": Tear down tests
Step #1 - "Run tests": time="2025-01-14T22:41:38Z" level=warning msg="/workspace/docker-compose.run-tests.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
Step #1 - "Run tests": Container workspace-server-1 Stopping
Step #1 - "Run tests": Container workspace-server-1 Stopped
Step #1 - "Run tests": Container workspace-server-1 Removing
Step #1 - "Run tests": Container workspace-server-1 Removed
Step #1 - "Run tests": Container workspace-db-1 Stopping
Step #1 - "Run tests": Container workspace-db-1 Stopped
Step #1 - "Run tests": Container workspace-db-1 Removing
Step #1 - "Run tests": Container workspace-db-1 Removed
Step #1 - "Run tests": Volume workspace_db Removing
Step #1 - "Run tests": Volume workspace_db Removed
Finished Step #1 - "Run tests"
Starting Step #2 - "Run format checks"
Step #2 - "Run format checks": Already have image (with digest): gcr.io/cloud-builders/docker
Step #2 - "Run format checks": Get cloud build project configuration values
Step #2 - "Run format checks": Build images for format checking
Step #2 - "Run format checks": time="2025-01-14T22:41:39Z" level=warning msg="/workspace/docker-compose.run-format-checks.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
Step #2 - "Run format checks": Container workspace-server-1 Creating
Step #2 - "Run format checks": Container workspace-server-1 Created
Step #2 - "Run format checks": Attaching to server-1
Step #2 - "Run format checks": server-1 | All done! ✨ 🍰 ✨
Step #2 - "Run format checks": server-1 | 97 files would be left unchanged.
Step #2 - "Run format checks": server-1 | Skipped 46 files
Step #2 - "Run format checks": server-1 | Broken 1 paths
Step #2 - "Run format checks": server-1 |
Step #2 - "Run format checks": server-1 |
Checking 0/31 files ┈┈┈┈┈┈┈┈┈┈ 00:00
Checking 1/31 files ┈┈┈┈┈┈┈┈┈┈ 00:00
Checking 3/31 files ┈┈┈┈┈┈┈┈┈┈ 00:00
Checking 5/31 files ━┈┈┈┈┈┈┈┈┈ 00:00
Checking 7/31 files ━━┈┈┈┈┈┈┈┈ 00:03
Checking 8/31 files ━━┈┈┈┈┈┈┈┈ 00:03
Checking 10/31 files ━━━┈┈┈┈┈┈┈ 00:05
Checking 12/31 files ━━━┈┈┈┈┈┈┈ 00:06
Checking 14/31 files ━━━━┈┈┈┈┈┈ 00:11
Checking 15/31 files ━━━━┈┈┈┈┈┈ 00:12
Checking 16/31 files ━━━━━┈┈┈┈┈ 00:12
Checking 17/31 files ━━━━━┈┈┈┈┈ 00:13
Checking 20/31 files ━━━━━━┈┈┈┈ 00:14
Checking 21/31 files ━━━━━━┈┈┈┈ 00:14
Checking 23/31 files ━━━━━━━┈┈┈ 00:14
Checking 24/31 files ━━━━━━━┈┈┈ 00:15
Checking 25/31 files ━━━━━━━━┈┈ 00:15
Checking 26/31 files ━━━━━━━━┈┈ 00:15
Checking 28/31 files ━━━━━━━━━┈ 00:16
Checking 29/31 files ━━━━━━━━━┈ 00:18
Checking 30/31 files ━━━━━━━━━┈ 00:19
Checking 31/31 files ━━━━━━━━━━ 00:21
Checking 31/31 files ━━━━━━━━━━ 00:21
Checking 31/31 files ━━━━━━━━━━ 00:21
Step #2 - "Run format checks": server-1 |
Step #2 - "Run format checks": server-1 |
Step #2 - "Run format checks": server-1 | 0 files would be updated.
Step #2 - "Run format checks": server-1 |
Step #2 - "Run format checks": Aborting on container exit...
Step #2 - "Run format checks":
�[Kserver-1 exited with code 0
Step #2 - "Run format checks": Container workspace-server-1 Stopping
Step #2 - "Run format checks": Container workspace-server-1 Stopped
Step #2 - "Run format checks": Tear down format-checking
Step #2 - "Run format checks": time="2025-01-14T22:42:05Z" level=warning msg="/workspace/docker-compose.run-format-checks.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
Step #2 - "Run format checks": Container workspace-server-1 Stopping
Step #2 - "Run format checks": Container workspace-server-1 Stopped
Step #2 - "Run format checks": Container workspace-server-1 Removing
Step #2 - "Run format checks": Container workspace-server-1 Removed
Finished Step #2 - "Run format checks"
Starting Step #3 - "Upload test coverage reports to Google Cloud Storage"
Step #3 - "Upload test coverage reports to Google Cloud Storage": Already have image (with digest): gcr.io/cloud-builders/gsutil
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get cloud build project configuration values
Step #3 - "Upload test coverage reports to Google Cloud Storage": Copy test coverage report from docker volume to a google cloud storage bucket.
Step #3 - "Upload test coverage reports to Google Cloud Storage": Copying file://./coverage/coverage.json [Content-Type=application/json]...
Step #3 - "Upload test coverage reports to Google Cloud Storage": / [0 files][ 0.0 B/ 85.1 KiB]
/ [1 files][ 85.1 KiB/ 85.1 KiB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Operation completed over 1 objects/85.1 KiB.
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:2 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:4 https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy InRelease [24.6 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:5 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1227 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:6 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:7 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:8 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:9 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:10 https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy/main amd64 Packages [2971 B]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:11 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [3527 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:12 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:13 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [2560 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:14 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [45.2 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [53.3 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:16 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [3663 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:17 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [2859 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:18 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1518 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:19 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [33.8 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:20 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [81.4 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Fetched 35.9 MB in 3s (11.0 MB/s)
Step #3 - "Upload test coverage reports to Google Cloud Storage": Reading package lists...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Reading package lists...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Building dependency tree...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Reading state information...
Step #3 - "Upload test coverage reports to Google Cloud Storage": The following packages were automatically installed and are no longer required:
Step #3 - "Upload test coverage reports to Google Cloud Storage": binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-11 dpkg-dev
Step #3 - "Upload test coverage reports to Google Cloud Storage": fakeroot fontconfig-config fonts-dejavu-core g++-11 gcc-11 gcc-11-base
Step #3 - "Upload test coverage reports to Google Cloud Storage": javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl
Step #3 - "Upload test coverage reports to Google Cloud Storage": libalgorithm-merge-perl libasan6 libatomic1 libbinutils libc-dev-bin
Step #3 - "Upload test coverage reports to Google Cloud Storage": libc-devtools libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0
Step #3 - "Upload test coverage reports to Google Cloud Storage": libdeflate0 libdpkg-perl libexpat1-dev libfakeroot libfile-fcntllock-perl
Step #3 - "Upload test coverage reports to Google Cloud Storage": libfontconfig1 libfreetype6 libgcc-11-dev libgd3 libgomp1 libisl23 libitm1
Step #3 - "Upload test coverage reports to Google Cloud Storage": libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc
Step #3 - "Upload test coverage reports to Google Cloud Storage": libjs-underscore liblocale-gettext-perl liblsan0 libmpc3 libmpfr6 libnsl-dev
Step #3 - "Upload test coverage reports to Google Cloud Storage": libpng16-16 libpython3-dev libpython3.10 libpython3.10-dev libquadmath0
Step #3 - "Upload test coverage reports to Google Cloud Storage": libstdc++-11-dev libtiff5 libtirpc-dev libtsan0 libubsan1 libwebp7 libxpm4
Step #3 - "Upload test coverage reports to Google Cloud Storage": linux-libc-dev lto-disabled-list make manpages manpages-dev python3-dev
Step #3 - "Upload test coverage reports to Google Cloud Storage": python3-distutils python3-lib2to3 python3-setuptools python3-wheel
Step #3 - "Upload test coverage reports to Google Cloud Storage": python3.10-dev rpcsvc-proto zlib1g-dev
Step #3 - "Upload test coverage reports to Google Cloud Storage": Use 'apt autoremove' to remove them.
Step #3 - "Upload test coverage reports to Google Cloud Storage": The following additional packages will be installed:
Step #3 - "Upload test coverage reports to Google Cloud Storage": libjq1 libonig5
Step #3 - "Upload test coverage reports to Google Cloud Storage": The following NEW packages will be installed:
Step #3 - "Upload test coverage reports to Google Cloud Storage": bc jq libjq1 libonig5
Step #3 - "Upload test coverage reports to Google Cloud Storage": 0 upgraded, 4 newly installed, 0 to remove and 6 not upgraded.
Step #3 - "Upload test coverage reports to Google Cloud Storage": Need to get 445 kB of archives.
Step #3 - "Upload test coverage reports to Google Cloud Storage": After this operation, 1308 kB of additional disk space will be used.
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 bc amd64 1.07.1-3build1 [87.6 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjq1 amd64 1.6-2.1ubuntu3 [133 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Get:4 http://archive.ubuntu.com/ubuntu jammy/main amd64 jq amd64 1.6-2.1ubuntu3 [52.5 kB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": debconf: delaying package configuration, since apt-utils is not installed
Step #3 - "Upload test coverage reports to Google Cloud Storage": Fetched 445 kB in 1s (651 kB/s)
Step #3 - "Upload test coverage reports to Google Cloud Storage": Selecting previously unselected package bc.
Step #3 - "Upload test coverage reports to Google Cloud Storage": (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 21067 files and directories currently installed.)
Step #3 - "Upload test coverage reports to Google Cloud Storage": Preparing to unpack .../bc_1.07.1-3build1_amd64.deb ...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Unpacking bc (1.07.1-3build1) ...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Selecting previously unselected package libonig5:amd64.
Step #3 - "Upload test coverage reports to Google Cloud Storage": Preparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Unpacking libonig5:amd64 (6.9.7.1-2build1) ...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Selecting previously unselected package libjq1:amd64.
Step #3 - "Upload test coverage reports to Google Cloud Storage": Preparing to unpack .../libjq1_1.6-2.1ubuntu3_amd64.deb ...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Unpacking libjq1:amd64 (1.6-2.1ubuntu3) ...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Selecting previously unselected package jq.
Step #3 - "Upload test coverage reports to Google Cloud Storage": Preparing to unpack .../jq_1.6-2.1ubuntu3_amd64.deb ...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Unpacking jq (1.6-2.1ubuntu3) ...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Setting up bc (1.07.1-3build1) ...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Setting up libonig5:amd64 (6.9.7.1-2build1) ...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Setting up libjq1:amd64 (1.6-2.1ubuntu3) ...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Setting up jq (1.6-2.1ubuntu3) ...
Step #3 - "Upload test coverage reports to Google Cloud Storage": Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
Step #3 - "Upload test coverage reports to Google Cloud Storage":
Step #3 - "Upload test coverage reports to Google Cloud Storage": This commit's report: gs://hopic-test-coverage-reports-01hp04dtnkf/dependabot/pip/server/django-5.0.11/1736894526-6c22b4c09758e5b14e41921426cb7d91107492fd.json
Step #3 - "Upload test coverage reports to Google Cloud Storage": This commit's test coverage: 88.80%
Step #3 - "Upload test coverage reports to Google Cloud Storage":
Step #3 - "Upload test coverage reports to Google Cloud Storage": Retrieving coverage report for the last commit to the main GitHub deployment branch.
Step #3 - "Upload test coverage reports to Google Cloud Storage": Last commit to the main GitHub deployment branch's report: gs://hopic-test-coverage-reports-01hp04dtnkf/prod/1728331814-a51a068ee2e93d3e4e2540f7f39ff76e618bae94.json
Step #3 - "Upload test coverage reports to Google Cloud Storage":
Step #3 - "Upload test coverage reports to Google Cloud Storage": Calculating last commit to the main GitHub deployment branch's test coverage.
Step #3 - "Upload test coverage reports to Google Cloud Storage": Copying gs://hopic-test-coverage-reports-01hp04dtnkf/prod/1728331814-a51a068ee2e93d3e4e2540f7f39ff76e618bae94.json...
Step #3 - "Upload test coverage reports to Google Cloud Storage": / [0 files][ 0.0 B/ 85.2 KiB]
/ [1 files][ 85.2 KiB/ 85.2 KiB]
Step #3 - "Upload test coverage reports to Google Cloud Storage": Operation completed over 1 objects/85.2 KiB.
Step #3 - "Upload test coverage reports to Google Cloud Storage": Last commit to the main GitHub deployment branch's test coverage: 88.48%
Step #3 - "Upload test coverage reports to Google Cloud Storage":
Step #3 - "Upload test coverage reports to Google Cloud Storage":
Step #3 - "Upload test coverage reports to Google Cloud Storage": ------------------------------------------
Step #3 - "Upload test coverage reports to Google Cloud Storage": Total coverage threshold: 77.5%
Step #3 - "Upload test coverage reports to Google Cloud Storage": Delta threshold: -2%
Step #3 - "Upload test coverage reports to Google Cloud Storage":
Step #3 - "Upload test coverage reports to Google Cloud Storage": This commit: 88.80%
Step #3 - "Upload test coverage reports to Google Cloud Storage": Last main or master commit: 88.48%
Step #3 - "Upload test coverage reports to Google Cloud Storage": ------------------------------------------
Step #3 - "Upload test coverage reports to Google Cloud Storage": Delta between commits: .32%
Step #3 - "Upload test coverage reports to Google Cloud Storage":
Step #3 - "Upload test coverage reports to Google Cloud Storage": Test coverage delta is within range.
Step #3 - "Upload test coverage reports to Google Cloud Storage": Coverage (88.80%) is above the threshold of 77.5.
Step #3 - "Upload test coverage reports to Google Cloud Storage": Test coverage is suficient - continuing...
Finished Step #3 - "Upload test coverage reports to Google Cloud Storage"
Starting Step #4 - "Build and push app and management image if main"
Step #4 - "Build and push app and management image if main": Already have image (with digest): gcr.io/cloud-builders/docker
Step #4 - "Build and push app and management image if main": Get cloud build environment variables
Step #4 - "Build and push app and management image if main": pass
Finished Step #4 - "Build and push app and management image if main"
PUSH
DONE
Loading