change to build for workflows
This commit is contained in:
139
Jenkinsfile
vendored
139
Jenkinsfile
vendored
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user