RULEAPI-649: Add frontend tests to CI

This commit is contained in:
Arseniy Zaostrovnykh 2021-06-08 15:21:29 +02:00 committed by GitHub
parent 5d0cb68cd0
commit 16ca5fafaf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 38 additions and 22 deletions

View File

@ -13,10 +13,10 @@ container_definition: &CONTAINER_DEFINITION
namespace: default namespace: default
use_in_memory_disk: true use_in_memory_disk: true
tests_task: tooling_tests_task:
gke_container: gke_container:
<<: *CONTAINER_DEFINITION <<: *CONTAINER_DEFINITION
dockerfile: Dockerfile dockerfile: ci/Dockerfile
cpu: 1 cpu: 1
memory: 1G memory: 1G
env: env:
@ -27,22 +27,43 @@ tests_task:
- pipenv run pip install pytest - pipenv run pip install pytest
- pipenv run pytest - pipenv run pytest
frontend_tests_task:
gke_container:
<<: *CONTAINER_DEFINITION
dockerfile: ci/frontend-tests-dockerfile
cpu: 1
memory: 2G
node_modules_cache:
folder: frontend/node_modules
reupload_on_changes: false # since there is a fingerprint script
fingerprint_script:
- echo $CIRRUS_OS
- node --version
- cat frontend/package-lock.json
populate_script:
- cd frontend
- npm install
tests_script:
- cd frontend
- npm run build
- npm test
validate_asciidoc_task: validate_asciidoc_task:
gke_container: gke_container:
<<: *CONTAINER_DEFINITION <<: *CONTAINER_DEFINITION
dockerfile: Dockerfile dockerfile: ci/Dockerfile
cpu: 1 cpu: 1
memory: 1G memory: 1G
metadata_tests_script: metadata_tests_script:
- ./validate_metadata.sh - ./ci/validate_metadata.sh
asciidoc_tests_script: asciidoc_tests_script:
- ./validate_asciidoc.sh - ./ci/validate_asciidoc.sh
validate_links_task: validate_links_task:
timeout_in: 120m timeout_in: 120m
gke_container: gke_container:
<<: *CONTAINER_DEFINITION <<: *CONTAINER_DEFINITION
dockerfile: Dockerfile dockerfile: ci/Dockerfile
cpu: 1 cpu: 1
memory: 2G memory: 2G
env: env:
@ -50,6 +71,6 @@ validate_links_task:
LINK_CACHE_PATH: /root/link-probing-history.cache LINK_CACHE_PATH: /root/link-probing-history.cache
tests_script: tests_script:
- bash ci/cirrus-cache.sh download ${LINK_CACHE_NAME} ${LINK_CACHE_PATH} - bash ci/cirrus-cache.sh download ${LINK_CACHE_NAME} ${LINK_CACHE_PATH}
- ./validate_links.sh ${LINK_CACHE_PATH} - ./ci/validate_links.sh ${LINK_CACHE_PATH}
- bash ci/cirrus-cache.sh upload ${LINK_CACHE_NAME} ${LINK_CACHE_PATH} - bash ci/cirrus-cache.sh upload ${LINK_CACHE_NAME} ${LINK_CACHE_PATH}

View File

@ -2,5 +2,5 @@ FROM python:3.9-slim-buster
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y --no-install-recommends jq php-json-schema asciidoctor pipenv git curl apt-get install -y --no-install-recommends jq php-json-schema asciidoctor pipenv git curl
CMD ["bash"] CMD ["bash"]

View File

@ -0,0 +1,3 @@
FROM node:14.17.0
CMD ["bash"]

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
set -uo pipefail set -uo pipefail
./generate_html.sh ./ci/generate_html.sh
exit_code=0 exit_code=0

View File

@ -8,7 +8,7 @@ ls -al $CACHE_PATH
[ -f "$CACHE_PATH/link_probes.history" ] && cp "$CACHE_PATH/link_probes.history" ./rspec-tools/ [ -f "$CACHE_PATH/link_probes.history" ] && cp "$CACHE_PATH/link_probes.history" ./rspec-tools/
./generate_html.sh ./ci/generate_html.sh
#validate links in asciidoc #validate links in asciidoc
cd rspec-tools cd rspec-tools

View File

@ -85,6 +85,7 @@ describe('metadata generation', () => {
const s200StrMetadata = fs.readFileSync(`${dstPath}/S200/java-metadata.json`); const s200StrMetadata = fs.readFileSync(`${dstPath}/S200/java-metadata.json`);
const s200Metadata = JSON.parse(s200StrMetadata.toString()); const s200Metadata = JSON.parse(s200StrMetadata.toString());
console.log(s200Metadata);
expect(Object.keys(s200Metadata)).toContain('prUrl'); expect(Object.keys(s200Metadata)).toContain('prUrl');
expect(s200Metadata.branch).toEqual('add-my-rule'); expect(s200Metadata.branch).toEqual('add-my-rule');
expect(s200Metadata.prUrl).toEqual('https://some.pr/url'); expect(s200Metadata.prUrl).toEqual('https://some.pr/url');

View File

@ -1,9 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "http://sonarsource.com/schemas/rule-metadata.json",
"type": "object",
"properties": {
"title": { "type": "string" }
},
"required": ["title"]
}