aboutsummaryrefslogtreecommitdiff
path: root/Jenkinsfile
diff options
context:
space:
mode:
authorMax Nanis2026-08-30 22:14:44 -0700
committerMax Nanis2026-08-30 22:14:44 -0700
commit89e88d7695044785470824dee839fd3cd6bd5ddf (patch)
treedaabfc38291b0e490b24a2021a0096ae00762557 /Jenkinsfile
parent2982c55ba175f0995b0c2ab4a1142a5d2635f6ac (diff)
downloadgeneralresearch-89e88d7695044785470824dee839fd3cd6bd5ddf.tar.gz
generalresearch-89e88d7695044785470824dee839fd3cd6bd5ddf.zip
imports work, gr base_init works. jenkins test1
Diffstat (limited to 'Jenkinsfile')
-rw-r--r--Jenkinsfile189
1 files changed, 5 insertions, 184 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
index e829ba9..d3bc039 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -12,45 +12,22 @@ pipeline {
environment {
VENV = "${env.WORKSPACE}/generalresearch-venv"
- SPECTRUM_CARER_VENV = "${env.WORKSPACE}/thl-spectrum-carer-venv"
- GRLIQ_CARER_VENV = "${env.WORKSPACE}/grliq-carer-venv"
- GR_CARER_VENV = "${env.WORKSPACE}/gr-carer-venv"
-
- INCITE_MOUNT_DIR = '/mnt/thl-incite'
- TMP_DIR = "${env.WORKSPACE}/tmp"
}
stages {
stage('python versions') {
+
matrix {
axes {
axis {
name 'PYTHON_VERSION'
- values 'python3.14' 'python3.13', 'python3.12', 'python3.11', 'python3.10'
+ values 'python3.14' 'python3.13', 'python3.12', 'python3.11'
}
}
stages {
- stage('Setup DB') {
- script {
- env.REDIS_DB = new Random().nextInt(1024).toString()
- env.REDIS = "${env.REDIS}:6379/${env.REDIS_DB}"
- env.THL_REDIS = "${env.THL_REDIS}:6379/${env.REDIS_DB}"
- echo "Using THL Redis: ${env.REDIS}"
- if (sh(script: "redis-cli -u ${env.REDIS} SET jenkins_lock 1 NX EX 3600", returnStdout: true).trim() != 'OK')
- error('Redis already locked... aborting.')
- }
- script {
- env.GR_REDIS_DB = new Random().nextInt(1024).toString()
- env.GR_REDIS = "redis://${env.REDIS}:6379/${env.GR_REDIS_DB}"
- echo "Using GR Redis: ${env.GR_REDIS}"
- if (sh(script: "redis-cli -u ${env.GR_REDIS} SET jenkins_lock 1 NX EX 3600", returnStdout: true).trim() != 'OK')
- error('Redis already locked... aborting.')
- }
- }
- }
- stage('Setup Git') {
+ stage('Setup') {
steps {
cleanWs()
@@ -67,188 +44,32 @@ pipeline {
url: 'ssh://code.g-r-l.com:6611/generalresearch']
],
)
- }
-
- dir("thl-spectrum:$PYTHON_VERSION/") {
- checkout scmGit(
- branches: [[name: env.BRANCH_NAME]],
- extensions: [ cloneOption(shallow: true) ],
- userRemoteConfigs: [
- [credentialsId: 'abdeb570-b708-44f3-b857-8a6b06ed9822',
- url: 'ssh://code.g-r-l.com:6611/thl-marketplaces/thl-spectrum']
- ],
- )
- }
- dir("grliq:$PYTHON_VERSION/") {
- checkout scmGit(
- branches: [[name: env.BRANCH_NAME]],
- extensions: [ cloneOption(shallow: true) ],
- userRemoteConfigs: [
- [credentialsId: 'abdeb570-b708-44f3-b857-8a6b06ed9822',
- url: 'ssh://code.g-r-l.com:6611/grl-iq']
- ],
- )
- }
-
- dir("gr:$PYTHON_VERSION/") {
- checkout scmGit(
- branches: [[name: env.BRANCH_NAME]],
- extensions: [ cloneOption(shallow: true) ],
- userRemoteConfigs: [
- [credentialsId: 'abdeb570-b708-44f3-b857-8a6b06ed9822',
- url: 'ssh://code.g-r-l.com:6611/general-research/gr-carer']
- ],
- )
- }
- }
- }
-
- stage('Env & Migration') {
- steps {
- dir("generalresearch:$PYTHON_VERSION/") {
sh "/usr/local/bin/$PYTHON_VERSION -m venv $VENV-$PYTHON_VERSION"
sh "$VENV-$PYTHON_VERSION/bin/pip install -U setuptools wheel pip"
sh "$VENV-$PYTHON_VERSION/bin/pip install -r requirements.txt"
sh "$VENV-$PYTHON_VERSION/bin/pip install '.[django]'"
- sh """
- export DB_NAME=${DB_NAME}
- export DB_USER=${env.DB_USER}
- export DB_PASSWORD=${env.DB_PASSWORD}
- export DB_HOST=${env.DB_POSTGRESQL_HOST}
- $VENV-$PYTHON_VERSION/bin/$PYTHON_VERSION -m generalresearch.thl_django.app.manage migrate
- """
- }
-
- dir("thl-spectrum:$PYTHON_VERSION/") {
- dir('carer') {
- sh "/usr/local/bin/$PYTHON_VERSION -m venv $SPECTRUM_CARER_VENV-$PYTHON_VERSION"
- sh "$SPECTRUM_CARER_VENV-$PYTHON_VERSION/bin/pip install -U setuptools wheel pip"
- sh "$SPECTRUM_CARER_VENV-$PYTHON_VERSION/bin/pip install -r requirements.txt"
-
- sh """
- export DB_NAME=${SPECTRUM_DB_NAME}
- $SPECTRUM_CARER_VENV-$PYTHON_VERSION/bin/$PYTHON_VERSION manage.py migrate --settings=carer.settings.unittest
- """
- }
- }
-
- dir("grliq:$PYTHON_VERSION/") {
- dir('carer') {
- sh "/usr/local/bin/$PYTHON_VERSION -m venv $GRLIQ_CARER_VENV-$PYTHON_VERSION"
- sh "$GRLIQ_CARER_VENV-$PYTHON_VERSION/bin/pip install -U setuptools wheel pip"
- sh "$GRLIQ_CARER_VENV-$PYTHON_VERSION/bin/pip install -r requirements.txt"
-
- sh """
- export DB_NAME=${GRLIQ_DB_NAME}
- $GRLIQ_CARER_VENV-$PYTHON_VERSION/bin/$PYTHON_VERSION manage.py migrate --settings=carer.settings.unittest
- """
- }
- }
-
- dir("gr:$PYTHON_VERSION/") {
- sh "/usr/local/bin/$PYTHON_VERSION -m venv $GR_CARER_VENV-$PYTHON_VERSION"
- sh "$GR_CARER_VENV-$PYTHON_VERSION/bin/pip install -U setuptools wheel pip"
- sh "$GR_CARER_VENV-$PYTHON_VERSION/bin/pip install -r requirements.txt"
-
- sh """
- export DB_NAME=${GR_DB_NAME}
- $GR_CARER_VENV-$PYTHON_VERSION/bin/$PYTHON_VERSION manage.py migrate --settings=gr.settings.unittest
- """
}
}
}
stage('base') {
- when {
- expression { return true }
- }
- steps {
- dir("generalresearch:$PYTHON_VERSION") {
- sh "$VENV-$PYTHON_VERSION/bin/pytest -v tests/sql_helper.py"
- }
- }
- }
-
- stage('models') {
- when {
- expression { return true }
- }
steps {
dir("generalresearch:$PYTHON_VERSION") {
- sh "$VENV-$PYTHON_VERSION/bin/pytest -v tests/models"
+ sh "$VENV-$PYTHON_VERSION/bin/pytest tests/models/gr/test_base.py -vs"
}
}
}
- stage('managers') {
- steps {
- dir("generalresearch:$PYTHON_VERSION") {
- sh "$VENV-$PYTHON_VERSION/bin/pytest -v tests/managers"
- }
- }
- }
-
- stage('wall_status_codes') {
- steps {
- dir("generalresearch:$PYTHON_VERSION") {
- sh "$VENV-$PYTHON_VERSION/bin/pytest -v tests/wall_status_codes"
- }
- }
- }
-
- stage('wxet') {
- steps {
- dir("generalresearch:$PYTHON_VERSION") {
- sh "$VENV-$PYTHON_VERSION/bin/pytest -v tests/wxet"
- }
- }
- }
-
- stage('grliq') {
- steps {
- dir("generalresearch:$PYTHON_VERSION") {
- sh "$VENV-$PYTHON_VERSION/bin/pytest -v tests/grliq"
- }
- }
- }
-
- stage('incite') {
- steps {
- dir("generalresearch:$PYTHON_VERSION") {
- sh "$VENV-$PYTHON_VERSION/bin/pytest -v tests/incite"
- }
- }
- }
}
}
}
}
+
post {
always {
echo 'One way or another, I have finished'
deleteDir() /* clean up our workspace */
- sh """
- mariadb -h ${env.DB_MARIA_HOST} -u ${env.DB_USER} -p${env.DB_PASSWORD} --ssl=0 -e 'DROP DATABASE `${env.SPECTRUM_DB_NAME}`;'
- """
- sh """
- PGPASSWORD=${env.DB_PASSWORD} psql -h ${env.DB_POSTGRESQL_HOST} -U ${env.DB_USER} -d postgres <<EOF
- DROP DATABASE "${env.DB_NAME}";
- EOF
- """
- sh """
- PGPASSWORD=${env.DB_PASSWORD} psql -h ${env.DB_POSTGRESQL_HOST} -U ${env.DB_USER} -d postgres <<EOF
- DROP DATABASE "${env.GRLIQ_DB_NAME}";
- EOF
- """
- sh """
- PGPASSWORD=${env.DB_PASSWORD} psql -h ${env.DB_POSTGRESQL_HOST} -U ${env.DB_USER} -d postgres <<EOF
- DROP DATABASE "${env.GR_DB_NAME}";
- EOF
- """
-
- sh "redis-cli -u ${env.THL_REDIS} FLUSHDB"
- sh "redis-cli -u ${env.GR_REDIS} FLUSHDB"
}
}
}