zusammenfassungen/.gitlab-ci.yml
2025-03-04 17:01:02 +00:00

94 lines
2.8 KiB
YAML

variables:
INSTANCE: 'Writerside/in'
ARTIFACT: 'webHelpIN2-all.zip'
DOCKER_VERSION: '241.16003'
ALGOLIA_APP_NAME: 'IH6YW1953U'
ALGOLIA_INDEX_NAME: 'ZUSAMMENFASSUNGEN'
CONFIG_JSON_PRODUCT: 'IN'
CONFIG_JSON_VERSION: '1.0'
stages:
- build
- test
- deploy
- search
build:
stage: build
image: registry.jetbrains.team/p/writerside/builder/writerside-builder:$DOCKER_VERSION
script:
- set -e
- export DISPLAY=:99
- Xvfb :99 &
- PROJECT_ID=$(echo $INSTANCE | cut -d'/' -f2 | tr '[:lower:]' '[:upper:]')
- ARTIFACT="webHelp${PROJECT_ID}2-all.zip"
- /opt/builder/bin/idea.sh helpbuilderinspect -source-dir . -product $INSTANCE --runner gitlab -output-dir public
- echo "Testing existence of $ARTIFACT..."
- ls -la public
- test -e public/$ARTIFACT
artifacts:
paths:
- public/$ARTIFACT
- public/report.json
- public/$ALGOLIA_ARTIFACT
expire_in: 1 week
test:
stage: test
image: openjdk:18-jdk-alpine
before_script:
- apk add curl
script:
- cd public
- curl -o wrs-checker.jar -L https://packages.jetbrains.team/maven/p/writerside/maven/com/jetbrains/writerside/writerside-ci-checker/1.0/writerside-ci-checker-1.0.jar
- java -jar wrs-checker.jar report.json $INSTANCE
pages:
stage: deploy
image: ubuntu:latest
before_script:
- apt-get update -y && apt-get install unzip -y
script:
- PROJECT_ID=$(echo $INSTANCE | cut -d'/' -f2 | tr '[:lower:]' '[:upper:]')
- ARTIFACT="webHelp${PROJECT_ID}2-all.zip"
- echo "Using artifact $ARTIFACT"
- cd public
- unzip -O UTF-8 $ARTIFACT
dependencies:
- build
artifacts:
paths:
- public
expire_in: 1 week
search:
stage: search
image: registry.jetbrains.team/p/writerside/builder/algolia-publisher:2.0.32-3
dependencies:
- build
- test
- pages
script:
- echo "Checking contents of the public directory..."
- ls -la public
- if [ -z "$ALGOLIA_KEY" ]; then
echo "ALGOLIA_KEY is not set in Gitlab secrets";
exit 1;
fi
- echo "ALGOLIA_KEY is set"
- PROJECT_ID=$(echo $INSTANCE | cut -d'/' -f2 | tr '[:lower:]' '[:upper:]')
- ALGOLIA_ARTIFACT="algolia-indexes-${PROJECT_ID}.zip"
- echo "ALGOLIA_ARTIFACT is $ALGOLIA_ARTIFACT"
- if [ ! -f "public/$ALGOLIA_ARTIFACT" ]; then
echo "Artifacts file public/$ALGOLIA_ARTIFACT not found!";
exit 1;
fi
- unzip -O UTF-8 public/$ALGOLIA_ARTIFACT -d algolia-indexes
- env "algolia-key=$ALGOLIA_KEY" java -jar /opt/builder/help-publication-agent.jar update-index --application-name $ALGOLIA_APP_NAME --index-name $ALGOLIA_INDEX_NAME --product $CONFIG_JSON_PRODUCT --version $CONFIG_JSON_VERSION --index-directory algolia-indexes/ 2>&1 | tee algolia-update-index-log.txt
artifacts:
paths:
- algolia-update-index-log.txt
expire_in: 1 week