From d0bd977cb5d5ced8814f1535a9d68075d4ef7689 Mon Sep 17 00:00:00 2001 From: Simeon Ehrig Date: Wed, 11 Oct 2023 10:18:30 +0200 Subject: [PATCH] run Unit tests with Julia 1.6 until 1.9 and nightly build --- .gitlab-ci.yml | 41 +++++++++++++++++++++++++++++++++++++++-- Project.toml | 2 +- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a50e60a..a267314 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,8 +4,7 @@ stages: - run_integration_test - verify-unit-test-deps -unit_tests_julia1.9: - image: julia:1.9 +.untit_test_template: stage: unit-test script: - apt update && apt install -y git @@ -25,6 +24,44 @@ unit_tests_julia1.9: tags: - cpuonly +unit_tests_releases: + extends: .untit_test_template + parallel: + matrix: + - JULIA_VERSION: ["1.6", "1.7", "1.8", "1.9"] + image: julia:$JULIA_VERSION + +unit_tests_nightly: + extends: .untit_test_template + # use the same baseimage like the official julia images + image: debian:bookworm-slim + variables: + # path where julia tar bal should be downloaded + JULIA_DONWLOAD: /julia/download + # path where julia should be extracted + JULIA_EXTRACT: /julia/extract + before_script: + - apt update && apt install -y wget + - mkdir -p $JULIA_DONWLOAD + - mkdir -p $JULIA_EXTRACT + - > + if [[ $CI_RUNNER_EXECUTABLE_ARCH == "linux/arm64" ]]; then + wget https://julialangnightlies-s3.julialang.org/bin/linux/aarch64/julia-latest-linux-aarch64.tar.gz -O $JULIA_DONWLOAD/julia-nightly.tar.gz + elif [[ $CI_RUNNER_EXECUTABLE_ARCH == "linux/amd64" ]]; then + wget https://julialangnightlies-s3.julialang.org/bin/linux/x86_64/julia-latest-linux-x86_64.tar.gz -O $JULIA_DONWLOAD/julia-nightly.tar.gz + else + echo "unknown runner architecture -> $CI_RUNNER_EXECUTABLE_ARCH" + exit 1 + fi + - tar -xf $JULIA_DONWLOAD/julia-nightly.tar.gz -C $JULIA_EXTRACT + # we need to search for the julia base folder name, because the second part of the name is the git commit hash + # e.g. julia-b0c6781676f + - JULIA_EXTRACT_FOLDER=${JULIA_EXTRACT}/$(ls $JULIA_EXTRACT | grep -m1 julia) + # copy everything to /usr to make julia public available + # mv is not possible, because it cannot merge folder + - cp -r $JULIA_EXTRACT_FOLDER/* /usr + allow_failure: true + generate_integration_tests: image: julia:1.9 stage: generate_integration_test diff --git a/Project.toml b/Project.toml index 70a7274..7a819b5 100644 --- a/Project.toml +++ b/Project.toml @@ -4,4 +4,4 @@ authors = ["Uwe Hernandez Acosta ", "Simeon Ehrig", "Klaus version = "0.1.0" [compat] -julia = "1.9" +julia = "1.6"