Skip to content

Commit 57d7ecb

Browse files
committed
Restructure Docker image from scratch
1 parent c6f05ca commit 57d7ecb

33 files changed

Lines changed: 1381 additions & 130 deletions

.dockleignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# [Enable Content trust for Docker] - We don't really need this much because only we both publish and pull
2+
# this image and pin the version so we can't accidentally pull unknown malicious image.
3+
CIS-DI-0005
4+
5+
# [Add HEALTHCHECK instruction to the container image] - Does not make sense for our CI image.
6+
CIS-DI-0006

.github/actions/common-preflight-check/action.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,16 @@ inputs:
99
runs:
1010
using: "composite"
1111
steps:
12+
- name: Set up Docker Buildx
13+
uses: docker/setup-buildx-action@v3
14+
with:
15+
version: "v0.31.1"
16+
17+
- name: Set up Docker Compose
18+
uses: docker/setup-compose-action@v1
19+
with:
20+
version: "v5.0.2"
21+
1222
- name: Build image
1323
shell: bash
1424
env:

.github/workflows/pull_request.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ jobs:
2020
- name: Login
2121
uses: ./.github/actions/login
2222
with:
23-
user-name: ${{ secrets.DOCKER_HUB_USERNAME }}
24-
token: ${{ secrets.DOCKER_HUB_TOKEN }}
23+
user-name: ${{ vars.DOCKER_HUB_TEST_USERNAME }}
24+
token: ${{ vars.DOCKER_HUB_TEST_TOKEN }}
2525

2626
- name: Preflight checks
2727
uses: ./.github/actions/common-preflight-check

CHANGELOG.MD

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,28 @@
11
# Changelog
22
All notable changes to this project will be documented in this file.
33

4-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
4+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [v3.0.0] - 2026-02-17
8+
### Changed
9+
- Complete rewrite of Dockerfile using multi-stage build architecture (separate stages for Java, Android SDK, Danger, Git LFS)
10+
- Danger JS installation now runs as `nonroot` user to reduce attack surface
11+
- Node.js installed from system apt packages instead of via nvm
12+
- Updated Android cmdline-tools to 14742923, platform to 36, build-tools to 36.1.0
13+
14+
### Added
15+
- Checksum verification for all downloaded artifacts (Java, Kotlin compiler, danger-kotlin)
16+
- Integration of shai-hulud supply chain attack detector for npm packages
17+
- npm scripts disabled globally to prevent supply chain attacks
18+
- Final image runs as `nonroot` user
19+
20+
### Removed
21+
- Flutter support
22+
- nvm and Node.js version management
23+
- Google Cloud CLI
24+
- Privilege escalation binaries from final image (`su`, `apt`, `apt-get`, `apt-cache`, `dpkg`, `unix_chkpwd`)
25+
726
## [v2.8.0] - 2025-12-04
827
### Changed
928
- Update danger kotlin to 1.3.4

0 commit comments

Comments
 (0)