-
Notifications
You must be signed in to change notification settings - Fork 60
109 lines (93 loc) · 4.55 KB
/
clients-javascript.child.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
name: "clients/js module (child)"
on:
# Triggered from other workflows.
workflow_call:
inputs:
jobRelease:
description: "jobRelease: Enable to build release versions; disable for development builds"
required: false
type: "boolean"
default: false
directory:
description: "directory: Working directory for the job execution"
required: true
type: "string"
default: "./"
genModuleEnable:
description: "genModuleEnable: Enable generation of client code from server modules that contain API definition files (.kmd)"
required: false
type: "boolean"
default: false
genModuleServerVersion:
description: "genModuleServerVersion: Server version from which to generate client code"
required: false
type: "string"
default: "dev"
runnerGroup:
description: "runnerGroup: Set of runners where the workflow jobs should be run"
required: false
type: "string"
default: "Linux"
defaults:
run:
shell: "bash --noprofile --norc -o errexit -o errtrace -o pipefail -o nounset -o xtrace {0}"
jobs:
build:
runs-on: ["self-hosted", "${{ inputs.runnerGroup }}"]
timeout-minutes: 30
steps:
# Action: https://github.com/actions/checkout
- name: "Checkout"
uses: "actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11" # v4.1.1
- name: "Configure the environment for ci-scripts/"
working-directory: "ci-scripts/"
run: |
echo "$PWD" >>$GITHUB_PATH
echo "CI_SCRIPTS_PATH=$PWD" >>$GITHUB_ENV
echo "JOB_TIMESTAMP=$(date --utc +%Y%m%d%H%M%S)" >>$GITHUB_ENV
- name: "Configure the environment for job script"
run: |
# Env vars used by `ci_job_deploy_js.sh`.
echo "ENV_PATH=$GITHUB_ENV" >>$GITHUB_ENV
# Commit that triggered this build.
echo "GIT_HASH_SHORT=${GITHUB_SHA:0:7}" >>$GITHUB_ENV
# Path to the Maven settings.xml file.
echo "MAVEN_SETTINGS_PATH=$GITHUB_WORKSPACE/clients/java/maven-settings/settings.xml" >>$GITHUB_ENV
# Path to the SSH key used by `generate_js_module.sh`.
# Note: No need to clean, $RUNNER_TEMP/ is deleted after each run.
GIT_SSH_KEY_PATH="$RUNNER_TEMP/id_git_ssh"
echo "GIT_SSH_KEY_PATH=$GIT_SSH_KEY_PATH" >>$GITHUB_ENV
echo "${{ secrets.KURENTOCI_PRIVATE_SSH_KEY }}" >"$GIT_SSH_KEY_PATH"
chmod 0400 "$GIT_SSH_KEY_PATH"
# Env vars used by `deploy_js_npm.sh`.
echo "KURENTO_NPM_TOKEN=${{ secrets.KURENTO_NPM_TOKEN }}" >>$GITHUB_ENV
# Env vars used by the Maven settings.xml file.
echo "KURENTO_MAVEN_SONATYPE_USERNAME=${{ secrets.KURENTO_MAVEN_SONATYPE_USERNAME }}" >>$GITHUB_ENV
echo "KURENTO_MAVEN_SONATYPE_PASSWORD=${{ secrets.KURENTO_MAVEN_SONATYPE_PASSWORD }}" >>$GITHUB_ENV
echo "KURENTO_MAVEN_DOWNLOAD_USERNAME=${{ secrets.KURENTO_MAVEN_DOWNLOAD_USERNAME }}" >>$GITHUB_ENV
echo "KURENTO_MAVEN_DOWNLOAD_PASSWORD=${{ secrets.KURENTO_MAVEN_DOWNLOAD_PASSWORD }}" >>$GITHUB_ENV
echo "KURENTO_MAVEN_UPLOAD_USERNAME=${{ secrets.KURENTO_MAVEN_UPLOAD_USERNAME }}" >>$GITHUB_ENV
echo "KURENTO_MAVEN_UPLOAD_PASSWORD=${{ secrets.KURENTO_MAVEN_UPLOAD_PASSWORD }}" >>$GITHUB_ENV
# Env vars used by `maven_deploy_github.sh`.
echo "GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}" >>$GITHUB_ENV
# Env vars used by `run` steps.
echo "WORKING_DIRECTORY=${{ inputs.directory }}" >>$GITHUB_ENV
- name: "Run job script (generate)"
if: ${{ inputs.genModuleEnable }}
working-directory: "${{ env.WORKING_DIRECTORY }}"
env:
JOB_RELEASE: "${{ inputs.jobRelease }}"
run: |
ci_job_generate_module.sh --js --server-version "${{ inputs.genModuleServerVersion }}"
# Change WORKING_DIRECTORY so it points to the newly generated dir.
echo "WORKING_DIRECTORY=$WORKING_DIRECTORY/build/js" >>$GITHUB_ENV
- name: "Configure the environment for job script (deploy)"
run: |
# Path to the GPG key used by `maven_deploy.sh`.
# Note: No need to clean, $RUNNER_TEMP/ is deleted after each run.
MAVEN_GPG_KEY_PATH="$RUNNER_TEMP/maven.gpg"
echo "MAVEN_GPG_KEY_PATH=$MAVEN_GPG_KEY_PATH" >>$GITHUB_ENV
echo "${{ secrets.MAVEN_PRIVATE_GPG_KEY }}" >"$MAVEN_GPG_KEY_PATH"
- name: "Run job script (deploy)"
working-directory: "${{ env.WORKING_DIRECTORY }}"
run: "ci_job_deploy_js.sh"