RULEAPI-649: Add frontend tests to CI
This commit is contained in:
parent
5d0cb68cd0
commit
16ca5fafaf
41
.cirrus.yml
41
.cirrus.yml
@ -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}
|
||||||
|
|
||||||
|
@ -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"]
|
3
ci/frontend-tests-dockerfile
Normal file
3
ci/frontend-tests-dockerfile
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM node:14.17.0
|
||||||
|
|
||||||
|
CMD ["bash"]
|
@ -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
|
||||||
|
|
@ -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
|
@ -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');
|
||||||
|
@ -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"]
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user