Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(mr): support fine graded multi-stages #2

Merged
merged 7 commits into from
Oct 27, 2024
Merged

chore(mr): support fine graded multi-stages #2

merged 7 commits into from
Oct 27, 2024

Commits on Oct 13, 2024

  1. fix: link to correct README in root directory

    Signed-off-by: Stephan Linz <[email protected]>
    rexut committed Oct 13, 2024
    Configuration menu
    Copy the full SHA
    3383e86 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2024

  1. feat: use of finely graded multi-stages

    In preparation for a differentiated CI pipeline, the Dockerfile
    can now be used with finer-grained multi-stages to build multi-
    platform Docker images.
    
    ubuntu:noble-20240904.1
    |
    `–[base]
       | - Ubuntu system package upgrades
       | - Ubuntu APT software management utils
       | - Ubuntu localization for 'en_US.UTF-8' and 'de_DE.UTF-8'
       | - TSN workspace user in '/home/tsn' ('UID=1005' and 'GID=205')
       | - Set main entry point to '/bin/bash'
       | - Switch to TSN workspace user in '/home/tsn'
       |
       `–[asdf-all]
         | - Ubuntu system packages for ASDF
         | - Install ASDF
         | - Install ASDF Plugin Manager
         | - Switch to TSN workspace user in '/home/tsn'
         |
         +–[asdf-amd64]
         | | - Empty, nothing to do.
       ,–:–´
       | |
       | +–[asdf-arm]
       | | | - Empty, nothing to do.
       +–:–´
       | |
       | +–[asdf-arm64]
       | | | - Empty, nothing to do.
       +–:–´
       | |
       | +–[asdf-riscv64]
       | | | - Empty, nothing to do.
       +–:–´
       | |
       | +–[asdf-ppc64le]
       | | | - Empty, nothing to do.
       +–:–´
       | |
       | `–[asdf-s390x]
       |   | - Empty, nothing to do.
       +–––´
       |
       `–[asdf]:
           - Verify ASDF, execute CLI.
           - Verify ASDF Plugin Manager, execute CLI.
    
    Signed-off-by: Stephan Linz <[email protected]>
    rexut committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    5ceac60 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2024

  1. chore: reducing Docker image layers (38 -> 7)

    Only the instructions RUN, COPY, and ADD create layers. Other
    instructions create temporary intermediate images, and do not
    increase the size of the build (number of layers). However,
    there is a limit of 127 layers in the final image. It is
    therefore recommended to offer Dockerfiles in which the number
    of layers created has been reduced.
    
    Always combine RUN apt-get update with apt-get install in the
    same RUN statement is a common way to do so. For details, see:
    
    - https://emmer.dev/blog/reducing-docker-layers
    - https://docs.docker.com/build/building/best-practices/#run
    
    Test with:
    
      docker inspect tiacsys/tsn-asdf-ws:local | \
             jq '.[0].RootFS.Layers[]' | wc -l
    
    Possible to squash:
    
      docker image save tiacsys/tsn-asdf-ws:local | \
      docker import - tiacsys/tsn-asdf-ws:squash && \
      docker inspect tiacsys/tsn-asdf-ws:squash | \
             jq '.[0].RootFS.Layers[]' | wc -l
    
    Signed-off-by: Stephan Linz <[email protected]>
    rexut committed Oct 27, 2024
    Configuration menu
    Copy the full SHA
    41d7396 View commit details
    Browse the repository at this point in the history
  2. chore(ci): support fine graded multi-stages

    Use our own reusable GitHub workflows for Docker from:
    
    - tiacsys/github-workflows/.github/workflows/docker-stages.yml@v1
    - tiacsys/github-workflows/.github/workflows/docker-retention.yml@v1
    
    Use our own reusable GitHub workflows for Retry on Failure from:
    
    - tiacsys/github-workflows/.github/workflows/retry-workflow.yml@v1
    
    Signed-off-by: Stephan Linz <[email protected]>
    rexut committed Oct 27, 2024
    Configuration menu
    Copy the full SHA
    8c99906 View commit details
    Browse the repository at this point in the history
  3. chore(ci): trigger only on Dockerfile changes

    Signed-off-by: Stephan Linz <[email protected]>
    rexut committed Oct 27, 2024
    Configuration menu
    Copy the full SHA
    0883160 View commit details
    Browse the repository at this point in the history
  4. chore: bump Ubuntu to 'noble-20241011'

    Use 'latest' image from https://hub.docker.com/_/ubuntu with the
    specific tag 'noble-20241011'.
    
    Signed-off-by: Stephan Linz <[email protected]>
    rexut committed Oct 27, 2024
    Configuration menu
    Copy the full SHA
    91f8915 View commit details
    Browse the repository at this point in the history
  5. chore: set version to 2024.10.1

    Signed-off-by: Stephan Linz <[email protected]>
    rexut committed Oct 27, 2024
    Configuration menu
    Copy the full SHA
    3f2af6e View commit details
    Browse the repository at this point in the history