Loading .gitlab-ci.yml 0 → 100644 +67 −0 Original line number Diff line number Diff line # GitLab CI/CD configuration for Cardinal Android variables: # Enable Git submodules GIT_SUBMODULE_STRATEGY: recursive # Enable Git LFS GIT_LFS_SKIP_SMUDGE: "0" # Gradle configuration GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.configureondemand=true" GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle" # Default image for jobs default: image: ubuntu:latest before_script: # Install required packages (git-lfs, Java, etc.) - apt-get update -qq - apt-get install -y -qq git git-lfs openjdk-17-jdk - git lfs install # Define pipeline stages stages: - lint # Detekt static analysis job detekt: stage: lint # Only run on pushes to main and merge requests to main rules: - if: '$CI_COMMIT_BRANCH == "main"' - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"' # Allow newer pipelines to cancel older ones interruptible: true # Resource group for concurrency control resource_group: android-detekt-${CI_COMMIT_REF_SLUG} # Cache Gradle dependencies cache: key: files: - cardinal-android/**/*.gradle* - cardinal-android/gradle/wrapper/gradle-wrapper.properties prefix: ${CI_JOB_NAME} paths: - .gradle/caches - .gradle/wrapper - cardinal-android/.gradle policy: pull-push script: # Configure Gradle for CI - mkdir -p ~/.gradle - echo "org.gradle.daemon=false" >> ~/.gradle/gradle.properties - echo "org.gradle.parallel=true" >> ~/.gradle/gradle.properties - echo "org.gradle.configureondemand=true" >> ~/.gradle/gradle.properties - echo "org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError" >> ~/.gradle/gradle.properties # Run detekt - cd cardinal-android - touch local.properties - chmod +x ./gradlew - ./gradlew detekt # Optional: Upload detekt reports as artifacts artifacts: when: always reports: codequality: cardinal-android/app/build/reports/detekt/detekt.xml paths: - cardinal-android/app/build/reports/detekt/ expire_in: 1 week Loading
.gitlab-ci.yml 0 → 100644 +67 −0 Original line number Diff line number Diff line # GitLab CI/CD configuration for Cardinal Android variables: # Enable Git submodules GIT_SUBMODULE_STRATEGY: recursive # Enable Git LFS GIT_LFS_SKIP_SMUDGE: "0" # Gradle configuration GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.configureondemand=true" GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle" # Default image for jobs default: image: ubuntu:latest before_script: # Install required packages (git-lfs, Java, etc.) - apt-get update -qq - apt-get install -y -qq git git-lfs openjdk-17-jdk - git lfs install # Define pipeline stages stages: - lint # Detekt static analysis job detekt: stage: lint # Only run on pushes to main and merge requests to main rules: - if: '$CI_COMMIT_BRANCH == "main"' - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"' # Allow newer pipelines to cancel older ones interruptible: true # Resource group for concurrency control resource_group: android-detekt-${CI_COMMIT_REF_SLUG} # Cache Gradle dependencies cache: key: files: - cardinal-android/**/*.gradle* - cardinal-android/gradle/wrapper/gradle-wrapper.properties prefix: ${CI_JOB_NAME} paths: - .gradle/caches - .gradle/wrapper - cardinal-android/.gradle policy: pull-push script: # Configure Gradle for CI - mkdir -p ~/.gradle - echo "org.gradle.daemon=false" >> ~/.gradle/gradle.properties - echo "org.gradle.parallel=true" >> ~/.gradle/gradle.properties - echo "org.gradle.configureondemand=true" >> ~/.gradle/gradle.properties - echo "org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError" >> ~/.gradle/gradle.properties # Run detekt - cd cardinal-android - touch local.properties - chmod +x ./gradlew - ./gradlew detekt # Optional: Upload detekt reports as artifacts artifacts: when: always reports: codequality: cardinal-android/app/build/reports/detekt/detekt.xml paths: - cardinal-android/app/build/reports/detekt/ expire_in: 1 week