File: lxd-charm-k8s-build.sh

package info (click to toggle)
golang-github-canonical-candid 1.12.3-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 3,016 kB
  • sloc: python: 1,903; sh: 235; makefile: 81
file content (57 lines) | stat: -rwxr-xr-x 1,784 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/sh
# lxd-snap-build.sh - build Candid charm in a clean LXD environment

set -eu

charm_name=candid-k8s
image=${image:-ubuntu:20.04}
container=${container:-${charm_name}-charm-`uuidgen`}

lxd_exec() {
	lxc exec \
		--env http_proxy=${http_proxy:-} \
		--env https_proxy=${https_proxy:-${http_proxy:-}} \
		--env no_proxy=${no_proxy:-} \
		$container -- "$@"
}

lxd_exec_ubuntu() {
	lxc exec \
		--env HOME=/home/ubuntu \
		--env http_proxy=${http_proxy:-} \
		--env https_proxy=${https_proxy:-${http_proxy:-}} \
		--env no_proxy=${no_proxy:-} \
		--user 1000 \
		--group 1000 \
		--cwd=${cwd:-/home/ubuntu} \
		$container -- "$@"
}

lxc launch -e ${image} $container
trap "lxc stop $container" EXIT

lxd_exec sh -c 'while [ ! -f /var/lib/cloud/instance/boot-finished ]; do sleep 0.1; done'

lxd_exec apt-get update -q -y
lxd_exec apt-get upgrade -q -y
lxd_exec apt-get install -y build-essential autoconf python-dev-is-python3
if [ -n "${http_proxy:-}" ]; then
	lxd_exec snap set system proxy.http=${http_proxy:-}
	lxd_exec snap set system proxy.https=${https_proxy:-${http_proxy:-}}
	lxd_exec_ubuntu git config --global http.proxy ${http_proxy:-}
fi
lxd_exec snap install charmcraft --classic
echo "Push .netrc"
lxc file push --uid 1000 --gid 1000 --mode 600 ${NETRC:-$HOME/.netrc} $container/home/ubuntu/.netrc
echo "Create src"
lxd_exec_ubuntu mkdir -p /home/ubuntu/src
echo "Transfer data"
tar c -C `dirname $0`/.. . | cwd=/home/ubuntu/src lxd_exec_ubuntu tar x


echo "Charmcraft build"
cwd=/home/ubuntu/src/charms/candid-k8s lxd_exec_ubuntu sudo -E charmcraft pack --verbose --destructive-mode
echo "Find file"
charmfile=`lxd_exec_ubuntu find /home/ubuntu/src/charms/candid-k8s -name "${charm_name}_*.charm"| head -1`
echo "Pull file"
lxc file pull $container$charmfile .