-
Notifications
You must be signed in to change notification settings - Fork 597
Templating 8.0 #507
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
Templating 8.0 #507
Conversation
Flexible slack messaging and some release process modifications
Make REDIS_DOWNLOAD_SHA conditionally required
Installing clang that way hasn't been accepted by docker team as the apt source is nightly
This PR is intended to fix issues raised by the Docker team: docker-library/official-images#20699 (comment) Templating for Dockerfiles To enable custom builds, I introduced Dockerfile templating based on Jinja2. Since we already have a Python-based release-automation tool, this was implemented as a new render-dockerfile command. Major changes: Redis versions are now declared in the .redis.version.json file, which is used as context for the templates Added Dockerfile.j2 templates for each distribution custom_build is no longer used as a Dockerfile ARG, but only as a Jinja2 template variable that enables certain sections in the Dockerfile Introduced an action that validates all Dockerfiles are in sync with their corresponding templates (with custom_build=false) Simplified the "apply docker version" action to use templating for updating Redis versions during releases Added ./bin/render-all-dockerfiles.sh script to help render all templates in various places clang-21 issue Reverted clang-21 source and installation, as there is no reliable way to install the latest version on Trixie.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
🛡️ Jit Security Scan Results🚨 Summary• Multiple shell injection vulnerabilities detected in GitHub Actions workflows 🔍 FindingsHIGH - 4 findings
1. Shell Injection in GitHub Actions Workflow
Remediation: - run: |
- if [[ "${{ inputs.run_type }}" == "release" ]]; then
- tag_prefix="${{ inputs.release_tag }}"
+ run: |
+ if [[ "$RUN_TYPE" == "release" ]]; then
+ tag_prefix="$RELEASE_TAG"
+ env:
+ RUN_TYPE: ${{ inputs.run_type }}
+ RELEASE_TAG: ${{ inputs.release_tag }}2. Shell Injection in Release Publish Workflow
Remediation: - run: |
- # Create release_info.json with all fields, then filter out empty ones
+ run: |
+ # Create release_info.json with all fields, then filter out empty ones
+ # Use environment variables instead of direct github context interpolation
+ env:
+ GITHUB_REF_NAME: ${{ github.ref_name }}
+ GITHUB_SHA: ${{ github.sha }}3. Shell Injection in Build Logs Capture
Remediation: - echo "Build failed for ${{ inputs.distribution }} on ${{ inputs.platform }}"
+ echo "Build failed for $DISTRIBUTION on $PLATFORM"
+ env:
+ DISTRIBUTION: ${{ inputs.distribution }}
+ PLATFORM: ${{ inputs.platform }}4. Shell Injection in Image Label Creation
Remediation: - run: |
- get_module_version() {
- local module="$1"
- grep MODULE_VERSION
+ run: |
+ get_module_version() {
+ local module="$1"
+ grep MODULE_VERSION
+ env:
+ GITHUB_WORKSPACE: ${{ github.workspace }}
|
This includes all workflow changes from unstable, fixes and templating from #503 for release/8.0