Reusable GitHub Actions workflow for building IQGeo modules and, when required, producing platform-with-module QA images.
This repository provides the standard IQGeo module build process. It is intended to be called from a product or module repository after version metadata has already been derived, typically by devops-engineering-ci-public-extract-version-action.
The workflow does four main things:
- Normalizes the requested module list into a build matrix.
- Cuts module binaries from source using
cut-module.yml. - Builds module injector images through the shared multi-architecture workflow.
- Optionally builds platform-with-module QA images.
For inbound and outbound dependency relationships, see docs/WHO-CALLS-WHAT.md.
The wider reusable workflow documentation for this workspace lives under docs/README.md.
This is the main reusable entry point.
Key responsibilities:
- Accepts the target version, module list, build id, tags, and release intent.
- Calls
.github/workflows/cut-module.ymlto package source artifacts. - Calls
IQGeo/devops-engineering-ci-public-build-multi-arch-workflow/.github/workflows/build-multi-arch.yml@mainto build injector images. - Optionally builds platform build, appserver, tools, and QA appserver images for the module.
- Can call the EKS redeploy workflow when configured.
- Exposes an
include_editionsinput, but the current workflow implementation does not invoke the editions reusable workflow.
Typical flow:
caller workflow
-> build-module.yml
-> cut-module.yml
-> build-multi-arch.yml for injector images
-> build-multi-arch.yml for QA images
-> optional redeploy-eks-pod.yml
Packages module artifacts for later Docker builds.
Key responsibilities:
- Checks out the caller repository and
IQGeo/myworld-product-core. - Places the module source into the expected platform modules directory.
- Runs the module cut script from the module repository.
- Uploads the generated binaries both to Azure File Share and as a short-lived GitHub artifact.
The main workflow expects these notable inputs:
version: module version being built.modules: comma-separated module list. The first module is also used when naming QA images.release_modules: modules eligible for release repository retagging.shortened_version: version segment used for language pack lookup.tags: comma-separated tags to apply to the final multi-arch images.build_id: unique identifier used for architecture-specific image tags.is_release: controls whether release repositories are updated.build_qa_images: toggles platform-with-module QA image creation.namespaceandpod_name: optional inputs for post-build redeploy.
- Upstream: caller workflows and the extract-version action decide the version and tags.
- Downstream: this workflow relies on the shared multi-arch workflow and build actions to produce images.
- Adjacent: the central system view is documented in
docs/README.md.
Use this repository when the module follows the standard IQGeo module layout and should be built as part of the normal platform-aligned module process.
For independently versioned partner modules or modules that need a generic/custom cut script wrapper, use devops-engineering-ci-public-build-independent-module-workflow instead.