MaxKey/.circleci/config.yml
2024-09-21 17:54:33 +07:00

83 lines
2.3 KiB
YAML

# This config was automatically generated from your source code
# Stacks detected: deps:java:.,deps:node:maxkey-web-frontend/maxkey-web-app,tool:gradle:
version: 2.1
orbs:
node: circleci/node@5
jobs:
test-node:
# Install node dependencies and run tests
executor: node/default
working_directory: ~/project/maxkey-web-frontend/maxkey-web-app
steps:
- checkout:
path: ~/project
- node/install-packages:
pkg-manager: npm
- run:
name: Run tests
command: npm test --passWithNoTests
build-node:
# Build node project
executor: node/default
working_directory: ~/project/maxkey-web-frontend/maxkey-web-app
steps:
- checkout:
path: ~/project
- node/install-packages:
pkg-manager: npm
- run:
command: npm run build
- run:
name: Create the ~/artifacts directory if it doesn't exist
command: mkdir -p ~/artifacts
# Copy output to artifacts dir
- run:
name: Copy artifacts
command: cp -R build dist public .output .next .docusaurus ~/artifacts 2>/dev/null || true
- store_artifacts:
path: ~/artifacts
destination: node-build
test-java:
docker:
- image: cimg/openjdk:17.0
steps:
- checkout
- run:
name: Calculate cache key
command: |-
find . -name 'pom.xml' -o -name 'gradlew*' -o -name '*.gradle*' | \
sort | xargs cat > /tmp/CIRCLECI_CACHE_KEY
- restore_cache:
key: cache-{{ checksum "/tmp/CIRCLECI_CACHE_KEY" }}
- run:
command: ./gradlew check
- store_test_results:
path: build/test-results
- save_cache:
key: cache-{{ checksum "/tmp/CIRCLECI_CACHE_KEY" }}
paths:
- ~/.gradle/caches
- store_artifacts:
path: build/reports
deploy:
# This is an example deploy job, not actually used by the workflow
docker:
- image: cimg/base:stable
steps:
# Replace this with steps to deploy to users
- run:
name: deploy
command: '#e.g. ./deploy.sh'
workflows:
build-and-test:
jobs:
- test-node
- build-node:
requires:
- test-node
- test-java
- test-java
# - deploy:
# requires:
# - build-node