@@ -1,199 +0,0 @@
|
||||
version: 2
|
||||
|
||||
defaults: &defaults
|
||||
working_directory: ~/project
|
||||
docker:
|
||||
- image: cimg/node:lts
|
||||
|
||||
aliases:
|
||||
- &restore_yarn_cache
|
||||
name: Restore yarn cache
|
||||
keys:
|
||||
- yarn-packages-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
||||
- yarn-packages-{{ .Branch }}
|
||||
- yarn-packages-
|
||||
- &save_yarn_cache
|
||||
name: Save yarn cache
|
||||
paths:
|
||||
- ~/.cache/yarn
|
||||
key: yarn-packages-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
||||
|
||||
jobs:
|
||||
install:
|
||||
<<: *defaults
|
||||
steps:
|
||||
- checkout
|
||||
- restore_cache: *restore_yarn_cache
|
||||
- run: yarn install --frozen-lockfile
|
||||
- save_cache: *save_yarn_cache
|
||||
- store_artifacts:
|
||||
path: package.json
|
||||
- persist_to_workspace:
|
||||
root: ~/project
|
||||
paths:
|
||||
- .
|
||||
build:
|
||||
<<: *defaults
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: ~/project
|
||||
- run:
|
||||
name: Build
|
||||
command: yarn run build
|
||||
- run:
|
||||
name: Build sense
|
||||
command: yarn run sense
|
||||
- persist_to_workspace:
|
||||
root: ~/project
|
||||
paths:
|
||||
- .
|
||||
|
||||
lint:
|
||||
<<: *defaults
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: ~/project
|
||||
- run:
|
||||
name: Lint
|
||||
command: yarn run eslint
|
||||
|
||||
unit-tests:
|
||||
<<: *defaults
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: ~/project
|
||||
- run:
|
||||
name: Run unit tests and publish to codeclimate
|
||||
command: |
|
||||
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
||||
chmod +x ./cc-test-reporter
|
||||
./cc-test-reporter before-build
|
||||
yarn test:unit --runInBand --coverage --reporters=default --reporters=jest-junit
|
||||
./cc-test-reporter after-build --coverage-input-type lcov --exit-code $?
|
||||
environment:
|
||||
JEST_JUNIT_OUTPUT_DIR: ./coverage/junit/
|
||||
- store_artifacts:
|
||||
path: coverage
|
||||
|
||||
api-spec:
|
||||
<<: *defaults
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: ~/project
|
||||
- run:
|
||||
name: Build API specification
|
||||
command: yarn run spec
|
||||
|
||||
publish-dev:
|
||||
<<: *defaults
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: ~/project
|
||||
- run: zip -r "sn-network-chart-ext.zip" "./sn-network-chart-ext"
|
||||
- store_artifacts:
|
||||
path: ./sn-network-chart-ext.zip
|
||||
|
||||
publish:
|
||||
<<: *defaults
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: ~/project
|
||||
- run:
|
||||
name: Setup npm
|
||||
command: |
|
||||
set -eo pipefail
|
||||
# Amend auth token for access to public npm registry for @nebula.js packages
|
||||
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
|
||||
- run:
|
||||
name: Publish
|
||||
command: |
|
||||
set -euo pipefail
|
||||
PROJ_VER=v$(cat package.json | jq -r '.version')
|
||||
TAG_NAME=$(git tag --points-at HEAD)
|
||||
if [ "$TAG_NAME" == "$PROJ_VER" ]
|
||||
then
|
||||
echo "Running >> npm publish"
|
||||
npm publish
|
||||
fi
|
||||
|
||||
api-governance:
|
||||
machine:
|
||||
image: ubuntu-2004:current
|
||||
working_directory: ~/project
|
||||
steps:
|
||||
- checkout
|
||||
- attach_workspace:
|
||||
at: ~/project
|
||||
- run:
|
||||
name: Create version.txt
|
||||
command: |
|
||||
set -x
|
||||
if [ -n "${CIRCLE_TAG}" ]; then
|
||||
version=${CIRCLE_TAG#v}
|
||||
else
|
||||
version=$(git describe --tags --abbrev=7 --match "v*")
|
||||
version=${version#v}
|
||||
fi
|
||||
echo "$version" > ./version.txt
|
||||
echo "Building $version"
|
||||
- run:
|
||||
name: Prepare API Compliance
|
||||
command: |
|
||||
docker pull ghcr.io/qlik-download/api-compliance
|
||||
docker create -v /specs --name specs alpine:3.4 /bin/true
|
||||
docker cp ./api-specifications/properties.json specs:/specs
|
||||
- run:
|
||||
name: Run API Compliance
|
||||
command: >
|
||||
VER=$(cat ./version.txt)
|
||||
|
||||
docker run --volumes-from specs
|
||||
-e SPEC_PATHS="e3863ba0-a48d-4034-8a77-1b00ce8a637d@/specs/properties.json"
|
||||
-e COMMIT_SHA="$CIRCLE_SHA1"
|
||||
-e RELEASE_TAG="$VER"
|
||||
-e CREDENTIALS_S3_SECRETKEY="$APICULTURIST_S3"
|
||||
-e CREDENTIALS_GITHUB="$APICULTURIST_GITHUB"
|
||||
-e CREDENTIALS_COLONY="$APICULTURIST_TOKEN"
|
||||
ghcr.io/qlik-download/api-compliance
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build-all:
|
||||
jobs:
|
||||
- install
|
||||
- build:
|
||||
requires:
|
||||
- install
|
||||
- unit-tests:
|
||||
requires:
|
||||
- build
|
||||
- lint:
|
||||
requires:
|
||||
- build
|
||||
- api-spec:
|
||||
requires:
|
||||
- install
|
||||
- publish-dev:
|
||||
requires:
|
||||
- build
|
||||
- publish:
|
||||
requires:
|
||||
- build
|
||||
- unit-tests
|
||||
- lint
|
||||
- api-spec
|
||||
filters:
|
||||
branches:
|
||||
only:
|
||||
- main
|
||||
- api-governance:
|
||||
context: api-compliance
|
||||
filters:
|
||||
branches:
|
||||
# Forked pull requests have CIRCLE_BRANCH set to pull/XXX
|
||||
ignore:
|
||||
- /pull\/[0-9]+/
|
||||
- renovate/minor-and-patch
|
||||
tags:
|
||||
only:
|
||||
- /v.*/
|
||||
21
.codeclimate.yml
Normal file
21
.codeclimate.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
version: "2"
|
||||
checks:
|
||||
method-lines:
|
||||
config:
|
||||
threshold: 100
|
||||
method-complexity:
|
||||
config:
|
||||
threshold: 10
|
||||
similar-code:
|
||||
config:
|
||||
threshold: 65
|
||||
identical-code:
|
||||
config:
|
||||
threshold: 65
|
||||
exclude_patterns:
|
||||
- "src/**/*.test.ts"
|
||||
- "src/**/*.test.tsx"
|
||||
- "*config*"
|
||||
- "test/**/__fixtures__"
|
||||
- "theme"
|
||||
- "mashup-example"
|
||||
22
.github/workflows/build.yml
vendored
Normal file
22
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
name: Build
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
release:
|
||||
type: boolean
|
||||
required: true
|
||||
default: false
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build:
|
||||
uses: qlik-oss/sn-gh-workflows/.github/workflows/build.yaml@v1
|
||||
secrets: inherit
|
||||
with:
|
||||
release: ${{ inputs.release || false}}
|
||||
api_specification_path: api-specifications/properties.json
|
||||
17
.github/workflows/semantic.yml
vendored
Normal file
17
.github/workflows/semantic.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
name: "Semantic PR"
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
- opened
|
||||
- edited
|
||||
- synchronize
|
||||
|
||||
jobs:
|
||||
main:
|
||||
name: Validate PR title
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: amannn/action-semantic-pull-request@v4
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
Reference in New Issue
Block a user