Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
wr2rf-vme
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
5
Issues
5
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
wr2rf-vme
Commits
46661a40
Commit
46661a40
authored
May 24, 2023
by
Adam Wujek
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.gitlab-ci.yml: clean up
Signed-off-by:
Adam Wujek
<
dev_public@wujek.eu
>
parent
ebdaa36b
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
98 additions
and
67 deletions
+98
-67
.gitlab-ci.yml
.gitlab-ci.yml
+90
-56
build-wr2rf.sh
ci-scripts/build-wr2rf.sh
+6
-4
build_wr2rf_tool.sh
ci-scripts/build_wr2rf_tool.sh
+1
-1
check_artifact.sh
ci-scripts/check_artifact.sh
+0
-4
checkout-sw.sh
ci-scripts/checkout-sw.sh
+1
-2
No files found.
.gitlab-ci.yml
View file @
46661a40
# Author: Adam Wujek for CERN 2023
# Include file for publishing on EOS
include
:
-
project
:
'
be-cem-edl/evergreen/gitlab-ci'
ref
:
master
file
:
# TODO: Uncomment when ready
-
include/publish-gitlab-ci.yml
stages
:
# List of stages for jobs, and their order of execution
...
...
@@ -13,18 +15,16 @@ stages: # List of stages for jobs, and their order of execution
variables
:
_BITSTREAM_DEST
:
$CI_PROJECT_DIR/$EDL_CI_EOS_OUTPUT_DIR/bitstream
_
SOFTWARE_DEST
:
$CI_PROJECT_DIR/$EDL_CI_EOS_OUTPUT_DIR/soft
ware
_
FIRMWARE_DEST
:
$CI_PROJECT_DIR/$EDL_CI_EOS_OUTPUT_DIR/firm
ware
_TOOLS_DEST
:
$CI_PROJECT_DIR/$EDL_CI_EOS_OUTPUT_DIR/tools
###############################################################################
test-build-wr2rf-tool
:
build-wr2rf-tools
:
stage
:
build-sw
tags
:
-
nodocker
script
:
-
|
# Test description
echo -e "\e[0Ksection_start:`date +%s`:
test_description\r\e[0KTest
description"
echo -e "\e[0Ksection_start:`date +%s`:
job_description\r\e[0KJob
description"
echo -e "\e[31m+------------------------------------------------------------------------------+\e[0m"
echo -e '\e[31m|\e[0m Compilation of wr2rf tools \e[31m|\e[0m'
echo -e "\e[31m+------------------------------------------------------------------------------+\e[0m"
...
...
@@ -38,56 +38,55 @@ test-build-wr2rf-tool:
- compile libwr2rf.a
EOF
echo -e "\e[31m+------------------------------------------------------------------------------+\e[0m"
echo -e "\e[0Ksection_end:`date +%s`:
test
_description\r\e[0K"
echo -e "\e[0Ksection_end:`date +%s`:
job
_description\r\e[0K"
-
mkdir -p ~/.ssh/
-
ssh-keyscan -t rsa cs-ccr-dev4 >> ~/.ssh/known_hosts
-
echo "$KPASS" | kinit wrci@CERN.CH
-
./ci-scripts/build_wr2rf_tool.sh
-
mkdir -p $_
SOFTWARE_DEST/wr2rf
/bin
-
mkdir -p $_
SOFTWARE_DEST/wr2rf
/lib
-
cp {wr2rf,spi_echo} $_
SOFTWARE_DEST/wr2rf
/bin
-
cp libwr2rf.a $_
SOFTWARE_DEST/wr2rf
/lib
-
mkdir -p $_
TOOLS_DEST
/bin
-
mkdir -p $_
TOOLS_DEST
/lib
-
cp {wr2rf,spi_echo} $_
TOOLS_DEST
/bin
-
cp libwr2rf.a $_
TOOLS_DEST
/lib
after_script
:
-
ssh wrci@cs-ccr-dev4 "rm -rf /user/wrci/ci-wr2rf/\"$CI_JOB_ID\""
artifacts
:
name
:
"
$SYN_NAME-software-$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
when
:
always
paths
:
-
$_SOFTWARE_DEST/
-
$_TOOLS_DEST/
###############################################################################
build-wrpc
:
stage
:
build-sw
tags
:
-
nodocker
variables
:
# Fetch submodules (https://docs.gitlab.com/ee/ci/git_submodules.html#use-git-submodules-in-cicd-jobs).
GIT_SUBMODULE_STRATEGY
:
normal
GIT_SUBMODULE_DEPTH
:
1
GIT_SSL_NO_VERIFY
:
1
script
:
-
ls -la dependencies/wrpc-sw
-
|
echo -e "\e[0Ksection_start:`date +%s`:job_description\r\e[0KJob description"
echo -e "\e[31m+------------------------------------------------------------------------------+\e[0m"
echo -e '\e[31m|\e[0m Compilation of wrpc-sw for wr2rf \e[31m|\e[0m'
echo -e "\e[31m+------------------------------------------------------------------------------+\e[0m"
echo -e "\e[0Ksection_end:`date +%s`:job_description\r\e[0K"
-
./ci-scripts/checkout-sw.sh dependencies/wrpc-sw
-
echo "Building
sw for
..."
-
echo "Building
wrpc-sw
..."
-
./ci-scripts/build-sw.sh dependencies/wrpc-sw wr2rf
# check presence of artifacts
-
./ci-scripts/check_artifact.sh wrc.bram
-
./ci-scripts/check_artifact.sh wrc.mif
-
./ci-scripts/check_artifact.sh wrc.bin
-
./ci-scripts/check_artifact.sh wrpc-sw_repo_ver.txt
-
mkdir -p $_SOFTWARE_DEST/wrpc
-
cp wrc.bram $_SOFTWARE_DEST/wrpc
-
cp wrc.mif $_SOFTWARE_DEST/wrpc
-
cp wrc.bin $_SOFTWARE_DEST/wrpc
-
cp wrc.elf $_SOFTWARE_DEST/wrpc
-
cp wrpc-sw_repo_ver.txt $_SOFTWARE_DEST/wrpc
-
mkdir -p $_FIRMWARE_DEST
-
cp wrc.bram $_FIRMWARE_DEST
-
cp wrc.mif $_FIRMWARE_DEST
-
cp wrc.bin $_FIRMWARE_DEST
-
cp wrc.elf $_FIRMWARE_DEST
-
cp wrpc-sw_repo_ver.txt $_FIRMWARE_DEST
artifacts
:
name
:
"
$SYN_NAME-software-$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
when
:
always
paths
:
-
$_
SOFT
WARE_DEST/
-
$_
FIRM
WARE_DEST/
###############################################################################
build-wr2rf
:
stage
:
build-hw
tags
:
...
...
@@ -99,35 +98,66 @@ build-wr2rf:
EDL_CI_SYN_OUTPUT_DIR
:
$CI_PROJECT_DIR/$EDL_CI_EOS_OUTPUT_DIR/bitstreams
GIT_SSL_NO_VERIFY
:
1
script
:
-
|
echo -e "\e[0Ksection_start:`date +%s`:job_description\r\e[0KJob description"
echo -e "\e[31m+------------------------------------------------------------------------------+\e[0m"
echo -e '\e[31m|\e[0m Synthesis of wr2rf \e[31m|\e[0m'
echo -e "\e[31m+------------------------------------------------------------------------------+\e[0m"
echo -e "\e[0Ksection_end:`date +%s`:job_description\r\e[0K"
-
echo "Checking out..."
-
ls -l
#- ./ci-scripts/install-hdlmake.sh
#- git config --global credential.https://gitlab.cern.ch.username wrci
#- git config --global credential.https://gitlab.cern.ch.helper '!f() { test "$1" = get && echo "password=$KPASS"; }; f'
#- ./ci-scripts/checkout.sh
-
cp $_SOFTWARE_DEST/wrpc/wrc.bram dependencies/wrpc-sw-file
#- echo "Building..."
#- ./ci-scripts/build-wr2rf.sh
## check presence of newly created artifacts
#- ./ci-scripts/check_artifact.sh wr2rf_vme.bit
-
git describe --dirty >> wr2rf_vme.bit
-
./ci-scripts/install-hdlmake.sh
-
git config --global credential.https://gitlab.cern.ch.username wrci
-
git config --global credential.https://gitlab.cern.ch.helper '!f() { test "$1" = get && echo "password=$KPASS"; }; f'
-
./ci-scripts/checkout.sh
-
cp $_FIRMWARE_DEST/wrc.bram dependencies/wrpc-sw-file
-
echo "Building..."
-
./ci-scripts/build-wr2rf.sh
-
mkdir -p $_BITSTREAM_DEST
-
cp wr2rf_vme.bit $_BITSTREAM_DEST/
# check presence of artifacts from previous jobs
#- ./scripts/check_artifact.sh wrc.bin
#- ./scripts/check_artifact.sh wrpc-sw_repo_ver.txt
-
ls -l
-
cp wr2rf.tar.xz $_BITSTREAM_DEST/
artifacts
:
name
:
"
$SYN_NAME-synthesis-$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
when
:
always
paths
:
-
$_BITSTREAM_DEST/
-
$_SOFTWARE_DEST/
-
$_FIRMWARE_DEST/
-
$_TOOLS_DEST/
###############################################################################
nfs_publish
:
stage
:
deploy
rules
:
-
if
:
$CI_COMMIT_TAG
# Run this job when a tag is created
script
:
-
|
# Test description
echo -e "\e[0Ksection_start:`date +%s`:job_description\r\e[0KJob description"
echo -e "\e[31m+------------------------------------------------------------------------------+\e[0m"
echo -e '\e[31m|\e[0m Deploy tools on NFS \e[31m|\e[0m'
echo -e "\e[31m+------------------------------------------------------------------------------+\e[0m"
while IFS= read -r line;
do
printf "\e[31m|\e[0m %-76s \e[31m|\e[0m\n" "$line"
done << EOF
This job deploys following on NFS (/acc/local/L867/drv/wr2rf/):
- bin/wr2rf
- bin/spi_echo
- lib/libwr2rf.a
EOF
echo -e "\e[31m+------------------------------------------------------------------------------+\e[0m"
echo -e "\e[0Ksection_end:`date +%s`:job_description\r\e[0K"
-
echo "$KPASS" | kinit wrci@CERN.CH
-
tar xf $_BITSTREAM_DEST/wr2rf.tar.xz
-
ssh -o StrictHostKeyChecking=no wrci@cs-ccr-dev4 "mkdir -p /acc/local/L867/drv/wr2rf/\"$CI_COMMIT_TAG\"/bitstream"
-
scp -r "$_TOOLS_DEST"/* wrci@cs-ccr-dev4:/acc/local/L867/drv/wr2rf/"$CI_COMMIT_TAG"
-
scp wr2rf_vme.bit wrci@cs-ccr-dev4:/acc/local/L867/drv/wr2rf/"$CI_COMMIT_TAG"/bitstream
release_job
:
###############################################################################
release-wr2rf
:
stage
:
release
image
:
registry.gitlab.com/gitlab-org/release-cli:latest
rules
:
...
...
@@ -141,7 +171,11 @@ release_job:
name
:
'
Release
$CI_COMMIT_TAG'
assets
:
links
:
-
name
:
'
libwr2rf'
url
:
'
https://be-cem-edl.web.cern.ch/wr2rf-vme/$CI_COMMIT_TAG/tools/lib'
-
name
:
'
CLI
tools'
url
:
'
https://be-cem-edl.web.cern.ch/wr2rf-vme/$CI_COMMIT_TAG/tools/bin'
-
name
:
'
WRPC
firmware'
url
:
'
https://be-cem-edl.web.cern.ch/wr2rf-vme/$CI_COMMIT_TAG/firmware'
-
name
:
'
Bitstream'
url
:
'
https://be-cem-edl.web.cern.ch/wr2rf-vme/$CI_COMMIT_TAG/bitstream'
-
name
:
'
Software'
url
:
'
https://be-cem-edl.web.cern.ch/wr2rf-vme/$CI_COMMIT_TAG/software'
ci-scripts/build-wr2rf.sh
View file @
46661a40
...
...
@@ -5,7 +5,7 @@ LOG_FILE="$PWD"/build
# Needs Vivado > 2019.1
.
/opt/Xilinx/Vivado/2019.2/settings64.sh
echo
"
b
uild wr2rf"
echo
"
B
uild wr2rf"
# Copy wrpc
#cp wrc.bram repos/wr2rf-vme/dependencies/wrpc-sw-file/wrc.bram
...
...
@@ -13,12 +13,14 @@ echo "build wr2rf"
cd
hdl/syn/wr2rf_vme
# Temporary fixes on generated wrapper
for
f
in
RFNCO/Vivado/RFNCO.v
nonIQModInterp2FIR/Vivado/nonIQModInterp2FIR.v
;
do
for
f
in
nonIQModInterp2FIR/Vivado/nonIQModInterp2FIR.v
;
do
sed
-i
-e
"s/_wrapper/_wrapper_unused/g"
../../../dependencies/
$f
done
hdlmake 2>&1 |
tee
"
${
LOG_FILE
}
_hdlmake.log"
make files.tcl 2>&1 |
tee
"
${
LOG_FILE
}
_make_files.log"
vivado
-mode
tcl
-source
wr2rf_vme.tcl
ls
cp
wr2rf_vme.bit ../../..
git describe
>>
wr2rf_ver.txt
tar
-cJf
wr2rf.tar.xz
*
.rpt
*
.dcp
*
.bit
*
.bin wr2rf_ver.txt
cp
wr2rf.tar.xz ../../..
ci-scripts/build_wr2rf_tool.sh
View file @
46661a40
...
...
@@ -4,7 +4,7 @@ set -e
targ
=
cs-ccr-dev4
ssh
-q
wrci@
${
targ
}
"mkdir -p /user/wrci/ci-wr2rf/
\"
$CI_JOB_ID
\"
"
ssh wrci@
${
targ
}
"mkdir -p /user/wrci/ci-wr2rf/
\"
$CI_JOB_ID
\"
"
# copy software directory
scp
-r
software wrci@
${
targ
}
:/user/wrci/ci-wr2rf/
"
$CI_JOB_ID
"
...
...
ci-scripts/check_artifact.sh
deleted
100755 → 0
View file @
ebdaa36b
#!/bin/bash
# Check the presence of artifact
[
-e
$1
]
||
(
echo
"File
$1
does not exist"
;
exit
1
;
)
ci-scripts/checkout-sw.sh
View file @
46661a40
...
...
@@ -9,7 +9,6 @@ export GIT_SSL_NO_VERIFY=1
CALL_DIR
=
$PWD
cd
$1
git submodule update
--init
git describe
--dirty
>
$CALL_DIR
/wrpc-sw_repo_ver.txt
# git checkout master
git describe
--always
--dirty
>
$CALL_DIR
/wrpc-sw_repo_ver.txt
echo
"Check-out complete."
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment