Skip to content
Snippets Groups Projects
Commit 78a95f43 authored by Anders Lindh Olsson's avatar Anders Lindh Olsson :8ball:
Browse files

Replace build essioc job

Use e3-build and a specification, to be able to select also which
versions of the EPICS modules which will be used. We will now also
install e3-base as part of this job.

We have to use different variables for the e3-base download compared to
the specification substitution, since the archive on artifactory has
had its filename modified to be linux compatible (no slash).

This commit also updates the version of e3-base used.
parent 1c4eecb8
No related branches found
No related tags found
1 merge request!170E3-1483: Replace build essioc job
---
variables:
E3_MODULE_LIST: "autosave caputlog recsync iocstats essioc"
E3_CI_BASE_VERSION: "7.0.8-b4af458"
E3_CI_BASE_VERSION: "7.0.8-NA/7.0.8-d498b42-20240419T152141"
E3_CI_MODIFIED_BASE_VERSION: "7.0.8-d498b42-20240419T152141" # strip the first part of the tag name - see E3-1529
stages:
- check
......@@ -43,7 +43,7 @@ shfmt:
build require:
stage: build
before_script:
- curl -L -o epics.tar.gz https://artifactory.esss.lu.se/artifactory/e3/epics-base-$E3_CI_BASE_VERSION.tar.gz
- curl -L -o epics.tar.gz https://artifactory.esss.lu.se/artifactory/e3/epics-base-$E3_CI_MODIFIED_BASE_VERSION.tar.gz
- tar -zxvf epics.tar.gz
- export BASE_PATH=$(ls -d $(pwd)/epics/base-*)
- echo "EPICS_BASE:=${BASE_PATH}" >> configure/RELEASE.local
......@@ -69,24 +69,21 @@ test require:
needs:
- build require
test essioc:
test composite build:
stage: test
before_script:
- |
export BASE_PATH=$(ls -d $(pwd)/epics/base-*)
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BASE_PATH}/lib/linux-x86_64"
echo "EPICS_BASE:=${BASE_PATH}" > RELEASE.local
echo "E3_REQUIRE_VERSION:=${CI_COMMIT_SHORT_SHA}" >> RELEASE.local
for mod in ${E3_MODULE_LIST}; do
git clone "https://gitlab.esss.lu.se/e3/wrappers/e3-$mod.git"
pushd "e3-$mod"
make vars
make init patch build
make install
popd
done
- pip freeze
- pip install --upgrade pip
- pip install --upgrade e3 --index-url https://artifactory.esss.lu.se/artifactory/api/pypi/pypi-virtual/simple
- sed -i "s|BASE|${E3_CI_BASE_VERSION}|" tests/data/essioc.yml
- sed -i "s|REQUIRE|${CI_COMMIT_SHORT_SHA}|" tests/data/essioc.yml
# We need to use a different install-path to explicitly avoid the pre-existing EPICS base build
# with a hashed require version from previous jobs
- e3-build tests/data/essioc.yml --log-file test-composite-build.log --install-path $(pwd)/e3 --assume-yes
- source $(pwd)/e3/base-*/require/*/bin/activate
script:
- source $(pwd)/epics/base-*/require/${CI_COMMIT_SHORT_SHA}/bin/activate
- run-iocsh -r essioc
needs:
- build require
artifacts:
when: always
paths:
- "*.log"
config:
base: BASE
require: REQUIRE
metadata:
type: specification
version: 1
modules:
autosave:
versions:
- master
caputlog:
versions:
- master
recsync:
versions:
- master
essioc:
versions:
- master
iocstats:
versions:
- master
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment