From eb38da212dca188b15eb8602908ef94d2e4ae236 Mon Sep 17 00:00:00 2001 From: William Bell <62452284+Ugric@users.noreply.github.com> Date: Mon, 1 Dec 2025 02:03:57 +0000 Subject: [PATCH] change to build for workflows --- Jenkinsfile | 139 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 81 insertions(+), 58 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5a07787..8a5ddcd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,68 +1,91 @@ pipeline { agent any + environment { + GITEA_URL = 'https://git.wbell.dev' + GITEA_REPO = 'Open-Argon/Chloride' + } stages { - stage('Checkout') { - steps { - checkout scm - sh 'git submodule update --init --recursive' - } + stage('Checkout') { + steps { + checkout scm + sh 'git submodule update --init --recursive' } + } - stage('Setup Conan') { - steps { - sh ''' - python3 -m venv /tmp/venv - . /tmp/venv/bin/activate - apt update - apt install -y cmake flex python3 python3-pip python3-venv - pip install --upgrade pip - pip install conan - ''' + stage('Detect Tag') { + steps { + script { + if (env.GIT_BRANCH?.startsWith('refs/tags/')) { + def tag = env.GIT_BRANCH.replace('refs/tags/', '') + echo "Tag detected: ${tag}" + + if (tag.toLowerCase().contains('unsable')) { + echo "Tag contains 'unsable' → marking build UNSTABLE" + currentBuild.result = 'UNSTABLE' + } + + // Expose for other stages + env.TAG_NAME = tag + } else { + echo "Regular branch build: ${env.GIT_BRANCH}" } - } - - - stage('Setup Conan Profile') { - steps { - sh ''' - . /tmp/venv/bin/activate - if [ ! -f ~/.conan2/profiles/default ]; then - conan profile detect - fi - ''' - } - } - - stage('Install Dependencies') { - steps { - sh ''' - . /tmp/venv/bin/activate - conan install . --build=missing - ''' - } - } - - stage('Build Project') { - steps { - sh ''' - . /tmp/venv/bin/activate - conan build . - ''' - } - } - - stage('Archive Build Artifacts') { - steps { - sh ''' - # Copy LICENSE.txt into build/bin - cp LICENSE.txt build/bin/ - - # Create tarball with the contents of build/bin at the root - tar -czf chloride-linux-x86_64.tar.gz -C build/bin . - ''' - // Archive the tarball - archiveArtifacts artifacts: 'chloride-linux-x86_64.tar.gz', allowEmptyArchive: false } } + } + + stage('Setup Conan') { + steps { + sh ''' + apt update + apt install -y cmake flex python3 python3-pip python3-venv + python3 -m venv /tmp/venv + . /tmp/venv/bin/activate + pip install --upgrade pip + pip install conan + ''' + } + } + + stage('Setup Conan Profile') { + steps { + sh ''' + . /tmp/venv/bin/activate + rm -rf ~/.conan2 + conan profile detect + ''' + } + } + + stage('Install Dependencies') { + steps { + sh ''' + . /tmp/venv/bin/activate + conan install . --build=missing + ''' + } + } + + stage('Build Project') { + steps { + sh ''' + . /tmp/venv/bin/activate + conan build . + ''' + } + } + + stage('Archive Build Artifacts') { + steps { + sh ''' + # Copy LICENSE.txt into build/bin + cp LICENSE.txt build/bin/ + + # Create tarball with the contents of build/bin at the root + tar -czf chloride-linux-x86_64.tar.gz -C build/bin . + ''' + // Archive the tarball + archiveArtifacts artifacts: 'chloride-linux-x86_64.tar.gz', allowEmptyArchive: false + } + } } }