kickc/.gitlab-ci.yml

67 lines
1.7 KiB
YAML

stages:
- build_and_test
- package
variables:
MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
cache:
paths:
- .m2/repository/
- target/fragment-cache/
test:
stage: build_and_test
image: maven:3-openjdk-17
script:
- mvn $MAVEN_CLI_OPTS clean compile test
artifacts:
name: test
paths:
- target/site/jacoco/
- target/fragment-cache/
release:
stage: package
image: maven:3-openjdk-17
script:
- mvn $MAVEN_CLI_OPTS -e package -DskipTests
- mkdir target/release
- ls target
- tar -C target/release -xzvf target/kickc-release.tgz
- mv target/release/kickc/jar/kickc-release.jar target/release/kickc/jar/kickc-${CI_COMMIT_REF_NAME}.jar
- mkdir ./kickc
- mv target/release/kickc/* ./kickc/
- touch ./kickc/fragment/cache/*
artifacts:
name: kickc_${CI_COMMIT_REF_NAME}
paths:
- ./kickc/bin
- ./kickc/jar
- ./kickc/include
- ./kickc/lib
- ./kickc/target
- ./kickc/fragment
- ./kickc/examples
- ./kickc/LICENSE*
- ./kickc/NOTICE*
- ./kickc/*.pdf
doxygen:
stage: package
image: alpine
script:
- apk update && apk add doxygen graphviz ttf-freefont
- pwd
- ls -l
- mkdir -p target
- mkdir target/doxygen
- doxygen src/main/doxygen/doxygen.conf
- mv target/doxygen/html/ public/
artifacts:
paths:
- public
only:
- master