forked from ActiveState/cli
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathactivestate.generators.yaml
122 lines (113 loc) · 5.17 KB
/
activestate.generators.yaml
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
scripts:
- name: generate-api-client
language: bash
description: Generates the mono-api client files
value: |
echo "IMPORTANT!!! mono API and inventory API have to be in sync. Consider running state run generate-inventory-client"
WD=$(pwd)
pushd pkg/platform/api/mono
swagger generate client -f ${WD}/../TheHomeRepot/service/api/swagger/swagger.yaml -A mono -a mono_operations -m mono_models -c mono_client
popd
- name: generate-secrets-client
language: bash
description: Generates the secrets-api client files
value: |
WD=$(pwd)
pushd pkg/platform/api/secrets
swagger generate client -f ${WD}/../TheHomeRepot/service/secrets/api/swagger.yaml -A secrets -a secrets_operations -m secrets_models -c secrets_client
popd
- name: generate-headchef-client
language: bash
description: Generates the headchef-api client files
value: |
WD=$(pwd)
pushd pkg/platform/api/headchef
swagger generate client --with-flatten full -f ${WD}/../TheHomeRepot/service/head-chef/swagger.json -A headchef -a headchef_operations -m headchef_models -c headchef_client
popd
- name: generate-logstreamer-client
language: bash
description: Generates the buildlog-streamer client files
value: |
WD=$(pwd)
pushd pkg/platform/api/buildlogstream
swagger generate client --with-flatten full -f ${WD}/../TheHomeRepot/service/build-log-streamer/swagger.yaml -A buildlogstream -a buildlogstream_operations -m buildlogstream_models -c buildlogstream_client
popd
- name: generate-inventory-client
language: bash
description: Generates the inventory-api client files
value: |
echo "IMPORTANT!!! mono API and inventory API have to be in sync. Consider running state run generate-api-client"
WD=$(pwd)
pushd pkg/platform/api/inventory
swagger generate client --with-flatten full -f ${WD}/../TheHomeRepot/service/inventory-api-v1/swagger.json -A inventory -a inventory_operations -m inventory_models -c inventory_client
popd
- name: generate-clients
language: bash
description: Generates all api clients
value: |
$scripts.generate-api-client
$scripts.generate-secrets-client
$scripts.generate-headchef-client
$scripts.generate-inventory-client
- name: generate-locale
language: bash
description: Detects new localisation calls and generates placeholder entries in en-us.yaml
value: python3 scripts/locale-generator.py
- name: generate-update
language: bash
description: Generate update files
value: |
set -e
export GOARCH=${1:-amd64}
$constants.SET_ENV
echo "# Create temp dir to generate bits"
TEMPDIR=$BUILD_TARGET_DIR/state-install
mkdir -p $TEMPDIR
cp -a $BUILD_TARGET_DIR/$constants.BUILD_INSTALLER_TARGET $TEMPDIR
echo "# Copy targets to temp dir"
BINDIR=$TEMPDIR/bin
mkdir -p $TEMPDIR/bin
cp -a $BUILD_TARGET_DIR/$constants.BUILD_DAEMON_TARGET $BINDIR
cp -a $BUILD_TARGET_DIR/$constants.BUILD_EXEC_TARGET $BINDIR
cp -a $BUILD_TARGET_DIR/$constants.BUILD_TARGET $BINDIR
echo "# Create update dir"
mkdir -p ./build/update
echo "# Generate update from temp dir"
go run scripts/ci/update-generator/main.go -o ./build/update $TEMPDIR
echo "# Remove temp dir"
rm -rf $TEMPDIR
- name: generate-remote-install-deployment
language: bash
value: go run scripts/ci/deploy-generator/remote-installer/main.go "$@"
- name: generate-graph
language: bash
description: Generates graph server and client files
value: |
go install github.com/99designs/[email protected]
cd ./cmd/state-svc && gqlgen --verbose
- name: generate-test-update
language: bash
standalone: true
description: |
Generate tests update files. These can be safely uploaded to s3, and can be used to test an installation/update
value: |
set -e
$constants.SET_ENV
mkdir -p ./build/test/state-install/bin
mkdir -p ./build/test-update
TEST_VERSION="99.99.9999"
TEST_CHANNEL=${1:-test-channel}
TEST_STATE_TOOL=./build/test/state-install/bin/$constants.BUILD_TARGET
TEST_STATE_SVC=./build/test/state-install/bin/$constants.BUILD_DAEMON_TARGET
TEST_STATE_EXEC=./build/test/state-install/bin/$constants.BUILD_EXEC_TARGET
TEST_INSTALLER=./build/test/state-install/$constants.BUILD_INSTALLER_TARGET
go build -o $TEST_STATE_TOOL ./internal/testhelpers/installation/fakeversioncmd
cp -a $TEST_STATE_TOOL $TEST_STATE_SVC
cp -a $TEST_STATE_TOOL $TEST_STATE_EXEC
cp -a $BUILD_TARGET_DIR/$constants.BUILD_INSTALLER_TARGET $TEST_INSTALLER
go run scripts/ci/update-generator/main.go -v ${TEST_VERSION} -o ./build/test-update ./build/test/state-install
echo "compile ${TEST_CHANNEL} update"
go build -o $TEST_STATE_TOOL -ldflags "-X main.channel=${TEST_CHANNEL}" ./internal/testhelpers/installation/fakeversioncmd
cp -a $TEST_STATE_TOOL $TEST_STATE_SVC
cp -a $TEST_STATE_TOOL $TEST_STATE_EXEC
go run scripts/ci/update-generator/main.go -b ${TEST_CHANNEL} -v ${TEST_VERSION} -o ./build/test-update ./build/test/state-install