aboutsummaryrefslogtreecommitdiffstats
path: root/Jenkinsfile
diff options
context:
space:
mode:
Diffstat (limited to 'Jenkinsfile')
-rw-r--r--Jenkinsfile35
1 files changed, 18 insertions, 17 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
index 83be0ac..f7f66c7 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -2,35 +2,35 @@ pipeline {
agent any
stages {
- stage('Build Docker Image') {
+ stage('Build Application Image') {
steps {
script {
- echo 'Building the Docker image...'
- // Build the Docker image from the Dockerfile.jenkins in the current directory
- // and tag it as 'lush-arch-test'
- sh 'docker build -f Dockerfile.jenkins -t lush-arch-test .'
+ echo 'Building the Lush application Docker image...'
+ // Build the image from the new Dockerfile and tag it
+ sh 'docker build -t lush-app:latest .'
}
}
}
- stage('Run Tests in Container') {
+ stage('Compile Project in Container') {
steps {
script {
- echo 'Running tests inside the Docker container...'
- // Run the container with the 'lush-arch-test' image.
- // The CMD in the Dockerfile will be executed.
- // --rm automatically removes the container when it exits.
- sh 'docker run --rm lush-arch-test'
+ echo 'Compiling the Lush project inside the container...'
+ // Run the container to generate Makefiles and compile
+ // We mount the current directory to get the compiled artifacts back out
+ sh 'docker run --rm -v "$(pwd)":/app lush-app:latest'
+ sh 'docker run --rm -v "$(pwd)":/app lush-app:latest make'
}
}
}
- stage('Run Owner-Provided Test Script') {
+ stage('Run Lua 5.2 Compatibility Test') {
steps {
script {
echo 'Running the Lua 5.2 compatibility test script...'
- // First, create the test script file
+ // Create the test script file
sh '''
cat <<'EOF' > test_52.lua
-- Lua 5.2-specific features
+ print("--- Running Lua 5.2 Compatibility Test ---")
local _ENV = { print = print, x = 123 } -- lexical environments
function show_x()
print("x =", x)
@@ -45,11 +45,12 @@ pipeline {
-- table.pack / table.unpack
local t = table.pack(1, 2, 3, nil, 5)
print("Packed length:", t.n)
- print("Unpacked values:", table.unpack(t))
+ print("Unpacked values:", table.unpack(t, 1, t.n))
+ print("--- Test Complete ---")
EOF
'''
- // Run the container and execute the owner's test script
- sh 'docker run --rm -v $(pwd)/test_52.lua:/app/test_52.lua lush-arch-test ./bin/Debug/lush/lush test_52.lua'
+ // Run the container and execute the test script with the compiled binary
+ sh 'docker run --rm -v "$(pwd)":/app lush-app:latest ./bin/Debug/lush/lush test_52.lua'
}
}
}
@@ -58,7 +59,7 @@ pipeline {
always {
echo 'Pipeline finished.'
// Clean up the created docker image to save space
- sh 'docker rmi lush-arch-test || true'
+ sh 'docker rmi lush-app:latest || true'
}
}
}