Skip to content

Commit dfc5fa8

Browse files
committed
Merge remote-tracking branch 'origin/candidate-10.0.x' into candidate-10.2.x
Signed-off-by: Gordon Smith <GordonJSmith@gmail.com>
2 parents bef5dc6 + 642aff3 commit dfc5fa8

5 files changed

Lines changed: 42 additions & 6 deletions

File tree

.github/workflows/build-docker-internal.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,12 +269,39 @@ jobs:
269269
${{ secrets.JFROG_REGISTRY || 'dummy.io' }}/hpccpl-docker-local/platform-core-ln:${{ steps.vars.outputs.hpcc_version }}
270270
cache-from: |
271271
type=registry,ref=hpccsystems/platform-core-${{ inputs.os }}:${{ steps.vars.outputs.candidate_base_branch }}
272+
273+
- name: Locate withsymbols_k8s deb file
274+
if: ${{ inputs.build-docker-image}}
275+
id: ln-container-withsymbols
276+
run: |
277+
withsymbols_k8s_pkg_path=$(ls -t ${{ steps.vars.outputs.folder_build }}/*64_withsymbols_k8s.deb 2>/dev/null | head -1)
278+
withsymbols_k8s_pkg_file=$(basename "$withsymbols_k8s_pkg_path")
279+
echo "withsymbols_k8s_pkg_file=$withsymbols_k8s_pkg_file" >> $GITHUB_OUTPUT
280+
echo "$withsymbols_k8s_pkg_file"
272281
282+
- name: Create Docker Image With Symbols
283+
uses: docker/build-push-action@v5
284+
if: ${{ inputs.build-docker-image }}
285+
with:
286+
builder: ${{ steps.buildx.outputs.name }}
287+
file: ${{ steps.vars.outputs.folder_platform }}/dockerfiles/platform-core-${{ inputs.os }}/Dockerfile
288+
context: ${{ steps.vars.outputs.folder_build }}
289+
push: false
290+
load: true
291+
build-args: |
292+
PKG_FILE=${{ steps.ln-container-withsymbols.outputs.withsymbols_k8s_pkg_file }}
293+
tags: |
294+
${{ secrets.JFROG_REGISTRY || 'dummy.io' }}/hpccpl-docker-local/platform-core-ln-withsymbols:${{ steps.vars.outputs.hpcc_version }}
295+
cache-from: |
296+
type=registry,ref=hpccsystems/platform-core-${{ inputs.os }}:${{ steps.vars.outputs.candidate_base_branch }}
297+
273298
- name: JFrog Docker Push and Publish
274299
if: ${{ inputs.build-docker-image && github.repository_owner == 'hpcc-systems' }}
275300
run: |
276301
jf docker push ${{ secrets.JFROG_REGISTRY || 'dummy.io' }}/hpccpl-docker-local/platform-core-ln:${{ steps.vars.outputs.hpcc_version }} --build-name=platform-core-ln --build-number=${{ steps.vars.outputs.hpcc_version }} --project=hpccpl
277302
jf rt bp platform-core-ln ${{ steps.vars.outputs.hpcc_version }} --project=hpccpl
303+
jf docker push ${{ secrets.JFROG_REGISTRY || 'dummy.io' }}/hpccpl-docker-local/platform-core-ln-withsymbols:${{ steps.vars.outputs.hpcc_version }} --build-name=platform-core-ln-withsymbols --build-number=${{ steps.vars.outputs.hpcc_version }} --project=hpccpl
304+
jf rt bp platform-core-ln-withsymbols ${{ steps.vars.outputs.hpcc_version }} --project=hpccpl
278305
279306
- name: Cleanup Environment
280307
if: always()

dockerfiles/rule-hpccpl-docker-local-point-over-6mo.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"items.find":
66
{
77
"repo": "hpccpl-docker-local",
8-
"path": "platform-core-ln",
8+
"path": {"$match": "platform-core-ln*"},
99
"created": {"$before": "6mo"},
1010
"type": "folder",
1111
"name": {"$nmatch": "*-latest"},

esp/services/ws_workunits/ws_workunitsQuerySets.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3188,7 +3188,7 @@ class QueryCloner
31883188
StringBuffer fetchedName;
31893189
StringBuffer remoteDfs;
31903190
fetchRemoteWorkunit(NULL, context, srcAddress.str(), NULL, NULL, wuid, fetchedName, xml, dllname, dll, remoteDfs, useSSL);
3191-
deploySharedObject(*context, wuid, target, queryName, dll, queryDirectory, xml.str(), false);
3191+
deploySharedObject(*context, wuid, target, queryName, dll, queryDirectory, xml.str(), false, srcAddress.str(), dllname);
31923192

31933193
SCMStringBuffer existingQueryId;
31943194
queryIdFromQuerySetWuid(destQuerySet, wuid, queryName, existingQueryId);
@@ -3516,7 +3516,7 @@ bool CWsWorkunitsEx::onWUQuerysetCopyQuery(IEspContext &context, IEspWUQuerySetC
35163516
wuid.set(srcInfo->getWuid());
35173517
if (targetQueryName.isEmpty())
35183518
targetQueryName.set(queryName);
3519-
deploySharedObject(context, wuid, target, targetQueryName.get(), dll, queryDirectory.str(), xml.str(), false);
3519+
deploySharedObject(context, wuid, target, targetQueryName.get(), dll, queryDirectory.str(), xml.str(), false, srcAddress.str(), dllname.str());
35203520
}
35213521
else
35223522
{

esp/services/ws_workunits/ws_workunitsService.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4803,7 +4803,7 @@ void writeSharedObject(const char *srcpath, const MemoryBuffer &obj, const char
48034803
throw MakeStringException(ECLWATCH_CANNOT_COPY_DLL, "Failed copying shared object %s", srcpath);
48044804
}
48054805

4806-
void deploySharedObject(IEspContext &context, StringBuffer &wuid, const char *cluster, const char *name, const MemoryBuffer &obj, const char *dir, const char *xml, bool protect)
4806+
void deploySharedObject(IEspContext &context, StringBuffer &wuid, const char *cluster, const char *name, const MemoryBuffer &obj, const char *dir, const char *xml, bool protect, const char *sourceProcess, const char *sourceFilename)
48074807
{
48084808
StringBuffer dllpath, dllname;
48094809

@@ -4833,9 +4833,18 @@ void deploySharedObject(IEspContext &context, StringBuffer &wuid, const char *cl
48334833
}
48344834
}
48354835

4836+
StringBuffer originalDllName(sourceFilename);
4837+
if (originalDllName.isEmpty() && !isEmptyString(name))
4838+
originalDllName.append(name).append(SharedObjectExtension);
4839+
48364840
NewWsWorkunit wu(context, wuid);
48374841
wuid.set(wu->queryWuid()); // Update the wuid to the new unique value
48384842

4843+
if (!originalDllName.isEmpty())
4844+
wu->setApplicationValue("deploy", "sourceQuery", originalDllName.str(), true);
4845+
if (!isEmptyString(sourceProcess))
4846+
wu->setApplicationValue("deploy", "sourceEnvironment", sourceProcess, true);
4847+
48394848
//Write the dll to a filename based on the unique wuid
48404849
StringBuffer baseDllName;
48414850
baseDllName.append(SharedObjectPrefix).append(wuid).append(SharedObjectExtension);
@@ -4888,7 +4897,7 @@ void CWsWorkunitsEx::deploySharedObjectReq(IEspContext &context, IEspWUDeployWor
48884897
}
48894898

48904899
StringBuffer wuid;
4891-
deploySharedObject(context, wuid, cluster, req.getName(), *uncompressed, dir, xml, req.getProtect());
4900+
deploySharedObject(context, wuid, cluster, req.getName(), *uncompressed, dir, xml, req.getProtect(), nullptr, req.getFileName());
48924901

48934902
WsWuInfo winfo(context, wuid.str());
48944903
winfo.getCommon(resp.updateWorkunit(), WUINFO_All);

esp/services/ws_workunits/ws_workunitsService.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ class CWsWorkunitsSoapBindingEx : public CWsWorkunitsSoapBinding
509509
StringAttr espApplicationName;
510510
};
511511

512-
void deploySharedObject(IEspContext &context, StringBuffer &wuid, const char *cluster, const char *name, const MemoryBuffer &obj, const char *dir, const char *xml=NULL, bool protect=false);
512+
void deploySharedObject(IEspContext &context, StringBuffer &wuid, const char *cluster, const char *name, const MemoryBuffer &obj, const char *dir, const char *xml, bool protect, const char *sourceProcess, const char *sourceFilename);
513513

514514
class CClusterQueryStateParam : public CInterface
515515
{

0 commit comments

Comments
 (0)