mirror of https://github.com/openXC7/prjxray.git
Setup connection to Xilinx license server.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
This commit is contained in:
parent
e6ba750a08
commit
49a4b088d8
|
|
@ -17,6 +17,8 @@ jobs:
|
||||||
Pipeline:
|
Pipeline:
|
||||||
if: ${{ !(github.event_name != 'pull_request' && github.actor == 'dependabot[bot]') }}
|
if: ${{ !(github.event_name != 'pull_request' && github.actor == 'dependabot[bot]') }}
|
||||||
uses: ./.github/workflows/Pipeline.yml
|
uses: ./.github/workflows/Pipeline.yml
|
||||||
|
secrets:
|
||||||
|
LICENSE_TUNNEL_KEY_DATA: ${{ secrets.LICENSE_TUNNEL_KEY_DATA }}
|
||||||
|
|
||||||
|
|
||||||
Automerge:
|
Automerge:
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,9 @@ name: Pipeline
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
|
secrets:
|
||||||
|
LICENSE_TUNNEL_KEY_DATA:
|
||||||
|
required: false
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
|
|
@ -20,6 +23,7 @@ jobs:
|
||||||
ALLOW_ROOT: true
|
ALLOW_ROOT: true
|
||||||
GHA_EXTERNAL_DISK: "tools"
|
GHA_EXTERNAL_DISK: "tools"
|
||||||
XILINX_LOCAL_USER_DATA: "no"
|
XILINX_LOCAL_USER_DATA: "no"
|
||||||
|
LICENSE_TUNNEL_KEY_DATA: ${{ secrets.LICENSE_TUNNEL_KEY_DATA }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
|
|
@ -31,8 +35,30 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
DEBIAN_FRONTEND=noninteractive apt update -qq
|
DEBIAN_FRONTEND=noninteractive apt update -qq
|
||||||
DEBIAN_FRONTEND=noninteractive apt install -qq -y \
|
DEBIAN_FRONTEND=noninteractive apt install -qq -y \
|
||||||
bash bison build-essential ca-certificates clang-format cmake psmisc \
|
bash \
|
||||||
colordiff coreutils git flex python3 python3-dev python3-venv xsltproc libtinfo5
|
bison \
|
||||||
|
build-essential \
|
||||||
|
ca-certificates \
|
||||||
|
clang-format \
|
||||||
|
cmake \
|
||||||
|
colordiff \
|
||||||
|
coreutils \
|
||||||
|
flex \
|
||||||
|
git \
|
||||||
|
iproute2 \
|
||||||
|
iputils-ping \
|
||||||
|
libtinfo5 \
|
||||||
|
netcat-openbsd \
|
||||||
|
psmisc \
|
||||||
|
python3 \
|
||||||
|
python3-dev \
|
||||||
|
python3-venv \
|
||||||
|
xsltproc
|
||||||
|
|
||||||
|
- name: Xilinx Setup
|
||||||
|
env:
|
||||||
|
LICENSE_TUNNEL_KEY_DATA: ${{ secrets.LICENSE_TUNNEL_KEY_DATA }}
|
||||||
|
run: .github/workflows/scripts/xilinx.sh
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: make build --output-sync=target --warn-undefined-variables -j$(nproc)
|
run: make build --output-sync=target --warn-undefined-variables -j$(nproc)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,117 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Copyright (C) 2017-2020 The Project X-Ray Authors.
|
||||||
|
#
|
||||||
|
# Use of this source code is governed by a ISC-style
|
||||||
|
# license that can be found in the LICENSE file or at
|
||||||
|
# https://opensource.org/licenses/ISC
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: ISC
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "========================================"
|
||||||
|
echo "Xilinx proprietary toolchain setup."
|
||||||
|
echo "----------------------------------------"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Fix up the Xilinx configuration directory"
|
||||||
|
echo "----------------------------------------"
|
||||||
|
mkdir -p ~/.Xilinx
|
||||||
|
ls -l ~/.Xilinx
|
||||||
|
#sudo chown -R $USER ~/.Xilinx
|
||||||
|
|
||||||
|
export XILINX_LOCAL_USER_DATA=no
|
||||||
|
echo "----------------------------------------"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Select Xilinx Vivado version"
|
||||||
|
echo "----------------------------------------"
|
||||||
|
(
|
||||||
|
set -e
|
||||||
|
cd /opt
|
||||||
|
if [ x"$XRAY_SETTINGS" = x"kintex7" ]; then
|
||||||
|
echo "Using Xilinx Vivado Design Edition for $XRAY_SETTINGS build."
|
||||||
|
echo
|
||||||
|
echo "Making /opt mount rw"
|
||||||
|
sudo mount -o remount,rw /opt
|
||||||
|
echo
|
||||||
|
echo "Replacing /opt/Xilinx link."
|
||||||
|
sudo rm -f Xilinx
|
||||||
|
sudo ln -s Xilinx-design Xilinx
|
||||||
|
ls -l Xilinx
|
||||||
|
echo
|
||||||
|
echo "Making /opt mount ro"
|
||||||
|
sudo mount -o remount,ro /opt
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo "Using Xilinx Vivado WebPack Edition for $XRAY_SETTINGS build."
|
||||||
|
ls -l Xilinx
|
||||||
|
fi
|
||||||
|
)
|
||||||
|
echo "----------------------------------------"
|
||||||
|
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "List /opt directory"
|
||||||
|
echo "----------------------------------------"
|
||||||
|
ls -l /opt
|
||||||
|
echo "----------------------------------------"
|
||||||
|
|
||||||
|
# Create a tunnel to the server which has the Xilinx licenses and port forward
|
||||||
|
# them.
|
||||||
|
echo
|
||||||
|
echo "Setting up license server tunnel"
|
||||||
|
echo "----------------------------------------"
|
||||||
|
if [ ! -z "$LICENSE_TUNNEL_KEY_DATA" ]; then
|
||||||
|
LICENSE_TUNNEL_KEY=~/.Xilinx/xilinx-tunnel-key
|
||||||
|
LICENSE_TUNNEL_HOST=10.138.0.2
|
||||||
|
echo $LICENSE_TUNNEL_KEY_DATA | base64 --decode > $LICENSE_TUNNEL_KEY
|
||||||
|
|
||||||
|
echo "SSH Key for license server tunnel should be found @ $LICENSE_TUNNEL_KEY"
|
||||||
|
ls -l $LICENSE_TUNNEL_KEY || true
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Xilinx license server ssh key found, setting up tunnel"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Checking $LICENSE_TUNNEL_HOST is up"
|
||||||
|
ip addr show
|
||||||
|
echo "ping: ---------"
|
||||||
|
ping -c 5 $LICENSE_TUNNEL_HOST
|
||||||
|
echo "port: ---------"
|
||||||
|
nc -zv $LICENSE_TUNNEL_HOST 22
|
||||||
|
echo "---------"
|
||||||
|
echo
|
||||||
|
|
||||||
|
chmod 600 $LICENSE_TUNNEL_KEY
|
||||||
|
cat <<EOF > ssh_config
|
||||||
|
Host xilinx-license
|
||||||
|
HostName $LICENSE_TUNNEL_HOST
|
||||||
|
User kokoro
|
||||||
|
IdentityFile $LICENSE_TUNNEL_KEY
|
||||||
|
StrictHostKeyChecking no
|
||||||
|
ExitOnForwardFailure yes
|
||||||
|
# SessionType none
|
||||||
|
LocalForward localhost:2100 172.18.0.3:2100
|
||||||
|
LocalForward localhost:2101 172.18.0.3:2101
|
||||||
|
EOF
|
||||||
|
echo "127.0.0.1 xlic.int" | sudo tee -a /etc/hosts
|
||||||
|
|
||||||
|
export GIT_SSH_COMMAND="ssh -F $(pwd)/ssh_config -f -N"
|
||||||
|
${GIT_SSH_COMMAND} xilinx-license
|
||||||
|
|
||||||
|
(
|
||||||
|
source /opt/Xilinx/Vivado/2017.2/settings64.sh
|
||||||
|
export PATH=/opt/Xilinx/Vivado/2017.2/bin/unwrapped/lnx64.o:$PATH
|
||||||
|
echo "-----"
|
||||||
|
lmutil lmstat -a -c 2100@localhost -i || true
|
||||||
|
echo "-----"
|
||||||
|
)
|
||||||
|
|
||||||
|
export XILINXD_LICENSE_FILE=2100@localhost
|
||||||
|
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo "**No** Xilinx license server ssh key found."
|
||||||
|
fi
|
||||||
|
echo "----------------------------------------"
|
||||||
Loading…
Reference in New Issue