Torizoncore-builder inside Azure pipelines

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Looking at your issue with TorizonCore Builder in Azure Pipelines, there are several potential causes and solutions to explore:

Platform Specification Issue

First, there’s an issue with your platform specification. The correct platform for 64-bit ARM should be linux/arm64, not linux/64/v8 (1). Try this command instead:

torizoncore-builder --log-level DEBUG bundle --platform=linux/arm64 docker-compose.yml --bundle-directory bundle

File Path and Working Directory

TorizonCore Builder has specific requirements about file paths (2). The tool can only access files within the current working directory, and relative paths are interpreted relative to the working directory of torizoncore-builder (2).

When using absolute paths with $(pwd), you’re specifying paths from the perspective of the container, which can introduce confusion or unexpected lookup issues (2). The documentation specifically states that “the use of absolute paths in the configuration file is generally discouraged” (2).

Azure Pipelines Specific Issues

Based on similar issues reported in the community, Azure environments can have Docker-in-Docker (DinD) connectivity problems (3). The error you’re experiencing might be related to the Docker daemon connection that TorizonCore Builder uses internally.

Troubleshooting Steps

  1. Verify your working directory setup: Ensure your docker-compose.yml file is in the same directory where you’re running TorizonCore Builder
  2. Use relative paths: Instead of $(pwd)/docker-compose.yml, simply use docker-compose.yml
  3. Check Docker daemon: Verify that Docker is properly running in your Azure Pipeline environment
  4. Platform correction: Use the correct platform specification linux/arm64 for 64-bit ARM or linux/arm/v7 for 32-bit ARM (4)

Alternative Approach

If the bundle command continues to fail, you might consider using the build command with a configuration file instead, which can handle the bundling process internally (5):

output:
  easy-installer:
    local: <path>
    bundle:
      compose-file: docker-compose.yml

This approach downloads container images during the build process and might work better in CI/CD environments (5).

Best regards,
Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.