Skip to content

Commit 97b2f2a

Browse files
Streamline package documentation and installer scripts (#6)
* Update package docs and APT install scripts Sync PACKAGES.md with changes made to apt.sh and apt_mini.sh and streamline package installers. PACKAGES.md: adjust library names (libssl3), reduce/replace large sections with a focused mini-container table and note files installed by conda. pm_installs/apt.sh: combine update commands, reorganize and deduplicate library lists, prefer libssl3, trim VCS installs to git, simplify architecture conditionals, expand LLVM/OpenJDK/.NET package variants and tidy toolchain installs. pm_installs/apt_mini.sh: mirror apt.sh simplifications for a minimal container (combined upgrade, compact package lists, remove commented blocks, ensure essential tools only). pm_installs/conda_mini.sh: remove commented platform-specific Julia block and keep conda cache cleanup. Overall: improve clarity, reduce duplication, and tailor a smaller footprint for mini containers. * Update for GitHub action artifacts Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> * Update cron job to run less frequently Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> --------- Co-authored-by: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com>
1 parent ee4e259 commit 97b2f2a

6 files changed

Lines changed: 123 additions & 260 deletions

File tree

.github/workflows/noble.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ on:
66
push:
77
branches: ["master"]
88
schedule:
9-
- cron: "0 0 * * 1"
9+
- cron: "0 0 1 * *"
1010

1111
jobs:
1212
build-noble-amd64:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Free Disk Space (Ubuntu)
16-
uses: jlumbroso/free-disk-space@v1.3.1
16+
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
1717
with:
1818
tool-cache: true
1919
android: true
@@ -23,22 +23,22 @@ jobs:
2323
docker-images: false
2424
swap-storage: false
2525
- name: Check out the repo
26-
uses: actions/checkout@v4
26+
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
2727

2828
- name: Set up QEMU (for cross-platform)
29-
uses: docker/setup-qemu-action@v3.7.0
29+
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a
3030

3131
- name: Set up Docker buildx
32-
uses: docker/setup-buildx-action@v3.11.1
32+
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd
3333

3434
- name: Log in to DockerHub
35-
uses: docker/login-action@v3.6.0
35+
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121
3636
with:
3737
username: ${{ secrets.DOCKERHUB_USERNAME }}
3838
password: ${{ secrets.DOCKERHUB_TOKEN }}
3939

4040
- name: Build and push multi-arch image for noble (amd64)
41-
uses: docker/build-push-action@v6
41+
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
4242
with:
4343
context: .
4444
file: ./dockerfiles/noble
@@ -51,7 +51,7 @@ jobs:
5151
runs-on: ubuntu-latest
5252
steps:
5353
- name: Free Disk Space (Ubuntu)
54-
uses: jlumbroso/free-disk-space@v1.3.1
54+
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
5555
with:
5656
tool-cache: true
5757
android: true
@@ -61,22 +61,22 @@ jobs:
6161
docker-images: false
6262
swap-storage: false
6363
- name: Check out the repo
64-
uses: actions/checkout@v4
64+
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
6565

6666
- name: Set up QEMU (for cross-platform)
67-
uses: docker/setup-qemu-action@v3.7.0
67+
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a
6868

6969
- name: Set up Docker buildx
70-
uses: docker/setup-buildx-action@v3.11.1
70+
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd
7171

7272
- name: Log in to DockerHub
73-
uses: docker/login-action@v3.6.0
73+
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121
7474
with:
7575
username: ${{ secrets.DOCKERHUB_USERNAME }}
7676
password: ${{ secrets.DOCKERHUB_TOKEN }}
7777

7878
- name: Build and push multi-arch image for noble (arm64v8)
79-
uses: docker/build-push-action@v6
79+
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
8080
with:
8181
context: .
8282
file: ./dockerfiles/noble

.github/workflows/noble_mini.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ on:
66
push:
77
branches: ["master"]
88
schedule:
9-
- cron: "0 0 * * 1"
9+
- cron: "0 0 1 * *"
1010

1111
jobs:
1212
build-noble-mini-amd64:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Free Disk Space (Ubuntu)
16-
uses: jlumbroso/free-disk-space@v1.3.1
16+
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
1717
with:
1818
tool-cache: true
1919
android: true
@@ -23,22 +23,22 @@ jobs:
2323
docker-images: false
2424
swap-storage: false
2525
- name: Check out the repo
26-
uses: actions/checkout@v4
26+
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
2727

2828
- name: Set up QEMU (for cross-platform)
29-
uses: docker/setup-qemu-action@v3.7.0
29+
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a
3030

3131
- name: Set up Docker buildx
32-
uses: docker/setup-buildx-action@v3.11.1
32+
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd
3333

3434
- name: Log in to DockerHub
35-
uses: docker/login-action@v3.6.0
35+
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121
3636
with:
3737
username: ${{ secrets.DOCKERHUB_USERNAME }}
3838
password: ${{ secrets.DOCKERHUB_TOKEN }}
3939

4040
- name: Build and push multi-arch image for noble (amd64)
41-
uses: docker/build-push-action@v6
41+
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
4242
with:
4343
context: .
4444
file: ./dockerfiles/noble_mini
@@ -51,7 +51,7 @@ jobs:
5151
runs-on: ubuntu-latest
5252
steps:
5353
- name: Free Disk Space (Ubuntu)
54-
uses: jlumbroso/free-disk-space@v1.3.1
54+
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
5555
with:
5656
tool-cache: true
5757
android: true
@@ -61,22 +61,22 @@ jobs:
6161
docker-images: false
6262
swap-storage: false
6363
- name: Check out the repo
64-
uses: actions/checkout@v4
64+
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
6565

6666
- name: Set up QEMU (for cross-platform)
67-
uses: docker/setup-qemu-action@v3.7.0
67+
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a
6868

6969
- name: Set up Docker buildx
70-
uses: docker/setup-buildx-action@v3.11.1
70+
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd
7171

7272
- name: Log in to DockerHub
73-
uses: docker/login-action@v3.6.0
73+
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121
7474
with:
7575
username: ${{ secrets.DOCKERHUB_USERNAME }}
7676
password: ${{ secrets.DOCKERHUB_TOKEN }}
7777

7878
- name: Build and push multi-arch image for noble (arm64v8)
79-
uses: docker/build-push-action@v6
79+
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
8080
with:
8181
context: .
8282
file: ./dockerfiles/noble_mini

PACKAGES.md

Lines changed: 10 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@
4141

4242
## 4. Libraries & development headers (selected)
4343

44-
> (Large list in the original script; this table highlights key runtime & dev libraries.)
44+
> Updated to reflect both `apt.sh` and `apt_mini.sh`.
4545
4646
| Tool / library | Friendly name | Package name | Notes |
4747
|---|---|---|---|
4848
| libc6, libc6-dev | GNU C Library | `libc6`, `libc6-dev` | Core C runtime and headers |
49-
| libssl3t64, libssl-dev | OpenSSL libraries | `libssl3t64`, `libssl-dev` | TLS / crypto libraries and headers |
49+
| libssl3, libssl-dev | OpenSSL libraries | `libssl3`, `libssl-dev` | TLS / crypto libraries and headers |
5050
| libcurl4 | libcurl | `libcurl4` | HTTP client library |
5151
| libpng16-16 | libpng | `libpng16-16` | PNG image support |
5252
| libxml2 | libxml2 | `libxml2` | XML parsing library |
@@ -86,128 +86,26 @@
8686
| Tool | Friendly name | Package name | Notes |
8787
|---|---|---|---|
8888
| git | Git | `git` | Distributed version control |
89-
| mercurial | Mercurial | `mercurial` | DVCS alternative |
90-
| subversion | Subversion | `subversion` | Centralized VCS |
9189

9290
## 8. File & media processing
9391

94-
> Not available on Mini Dev Containers
95-
9692
| Tool | Friendly name | Package name | Notes |
9793
|---|---|---|---|
9894
| ffmpeg | FFmpeg | `ffmpeg` | Audio/video processing |
99-
| imagemagick | ImageMagick | `imagemagick` | Image manipulation CLI |
100-
| mediainfo | MediaInfo | `mediainfo` | Media file metadata extractor |
101-
| fonts-noto-color-emoji | Noto emoji | `fonts-noto-color-emoji` | Emoji font support |
102-
| libwmf-bin | WMF tools | `libwmf-bin` | Convert Windows Metafile formats |
103-
104-
## 9. Scripting, tooling & QA
105-
106-
> Not available on Mini Dev Containers
107-
108-
| Tool | Friendly name | Package name | Notes |
109-
|---|---|---|---|
110-
| shellcheck | ShellCheck | `shellcheck` | Shell script linter |
111-
| parallel | GNU Parallel | `parallel` | Run jobs in parallel |
112-
| sudo | sudo | `sudo` | Privilege escalation utility |
113-
114-
## 10. Databases & search
115-
116-
| Tool | Friendly name | Package name | Notes |
117-
|---|---|---|---|
118-
| sqlite3 | SQLite CLI | `sqlite3` | Embedded SQL database CLI |
119-
| sphinxsearch | Sphinx Search | `sphinxsearch` | Full-text search engine |
120-
121-
## 11. Font configuration
122-
123-
> Not available on Mini Dev Containers
124-
125-
| Tool | Friendly name | Package name | Notes |
126-
|---|---|---|---|
127-
| fontconfig-config | Fontconfig config | `fontconfig-config` | Fontconfig system files |
128-
| fonts-dejavu-core | DejaVu fonts | `fonts-dejavu-core` | Common TTF fonts |
129-
130-
## 12. Compilers & toolchains (GNU, LLVM, cross)
131-
132-
| Tool | Friendly name | Package name | Notes |
133-
|---|---|---|---|
134-
| gcc / g++ | GNU C/C++ compilers | `gcc`, `g++` | Standard system compilers |
135-
| gdb / gdbserver / gdb-multiarch | GNU Debugger | `gdb`, `gdbserver`, `gdb-multiarch` | Debugging tools |
136-
| clang / clang-format / clang-tidy | Clang toolchain | `clang`, `clang-format`, `clang-tidy` | LLVM C/C++ toolchain |
137-
| lld / lldb | LLVM linker & debugger | `lld`, `lldb` | LLVM tooling |
138-
| cmake / ninja-build | Build systems | `cmake`, `ninja-build` | Build orchestration |
139-
| build-essential | Build meta-package | `build-essential` | Includes make, gcc, g++ |
140-
| binutils-x86-64-linux-gnu | Binutils x86_64 | `binutils-x86-64-linux-gnu` | Cross linker for AMD64 |
141-
| mingw-w64 | MinGW-w64 cross compilers | `mingw-w64`, `gcc-mingw-w64` | Windows cross compilation |
142-
| gcc-arm-none-eabi | ARM bare-metal cross compiler | `gcc-arm-none-eabi` | Cortex-M toolchain |
143-
| binutils-arm-none-eabi | ARM binutils | `binutils-arm-none-eabi` | ARM assembler/linker |
144-
| llvm-14 / libclang-dev | LLVM 14 dev | `llvm-14`, `libclang-dev`, `llvm-14-dev` | Specific LLVM 14 packages installed |
145-
146-
## 13. Kernel build & low-level development
147-
148-
| Tool | Friendly name | Package name | Notes |
149-
|---|---|---|---|
150-
| libncurses5-dev / libncursesw5-dev | ncurses dev | `libncurses5-dev`, `libncursesw5-dev` | Required to build kernel menuconfig |
151-
| libelf-dev | libelf dev | `libelf-dev` | ELF utilities / headers |
152-
| bc | bc | `bc` | Calculator used in kernel builds |
153-
| dwarves | dwarves | `dwarves` | Kernel symbol tools (e.g., pahole) |
154-
| libbpf-dev | libbpf dev | `libbpf-dev` | eBPF helper library headers |
155-
156-
## 14. Java & JVM ecosystem
15795

158-
| Tool | Friendly name | Package name | Notes |
159-
|---|---|---|---|
160-
| default-jdk | Default JDK | `default-jdk` | System default JDK (usually latest stable) |
161-
| openjdk-11-jdk / 17 / 21 | OpenJDK versions | `openjdk-11-jdk`, `openjdk-17-jdk`, `openjdk-21-jdk` | Multiple JDK versions installed |
162-
163-
## 15. .NET SDKs & runtimes
164-
165-
| Tool | Friendly name | Package name | Notes |
166-
|---|---|---|---|
167-
| dotnet-sdk-8.0 / 9.0 | .NET SDK | `dotnet-sdk-8.0`, `dotnet-sdk-9.0` | SDKs for .NET 8 and 9 |
168-
| aspnetcore-runtime-8.0 | ASP.NET Core runtime | `aspnetcore-runtime-8.0` | Runtime for ASP.NET Core apps |
169-
| dotnet-runtime-8.0 / 9.0 | .NET runtime | `dotnet-runtime-8.0`, `dotnet-runtime-9.0` | Runtimes for .NET apps |
170-
171-
## 16. Rust toolchain
172-
173-
> Not available on Mini Dev Containers
96+
## 9. Additional tools for mini containers
17497

17598
| Tool | Friendly name | Package name | Notes |
17699
|---|---|---|---|
177-
| rustc / cargo | Rust compiler & package manager | `rustc`, `cargo` | Rust language toolchain |
178-
| rust-doc / rust-src | Rust docs & sources | `rust-doc`, `rust-src` | Documentation and sources |
179-
| rust-gdb / rust-clippy / rustfmt | Rust tooling | `rust-gdb`, `rust-clippy`, `rustfmt` | Debugger helpers, lints, formatter |
180-
181-
## 17. Android SDK / platform tools
100+
| sqlite3 | SQLite | `sqlite3` | Lightweight database |
101+
| sphinxsearch | SphinxSearch | `sphinxsearch` | Full-text search engine |
102+
| nodejs, npm, yarn | Node.js & npm | `nodejs`, `npm`, `yarn` | JavaScript runtime and package manager |
103+
| dotnet-sdk | .NET SDK | `dotnet-sdk-{8.0,10.0}` | .NET development tools |
104+
| openjdk | OpenJDK | `openjdk-{11,17,21,25}-jdk` | Java development kit |
182105

183-
> Not available on Mini Dev Containers
184-
185-
| Tool | Friendly name | Package name | Notes |
186-
|---|---|---|---|
187-
| adb / fastboot | ADB & Fastboot | `adb`, `fastboot` | Android device tools |
188-
| android-sdk-platform-tools / android-sdk-build-tools | Android SDK CLI | `android-sdk-platform-tools`, `android-sdk-build-tools` | Command-line SDK components |
189-
190-
## 18. Go
191-
192-
| Tool | Friendly name | Package name | Notes |
193-
|---|---|---|---|
194-
| golang / golang-go | Go language | `golang`, `golang-go` | Go compiler and tooling |
195-
196-
## 19. Node.js / npm / yarn
197-
198-
| Tool | Friendly name | Package name | Notes |
199-
|---|---|---|---|
200-
| nodejs | Node.js | `nodejs` | JavaScript runtime |
201-
| npm | npm | `npm` | Node package manager |
202-
| yarn | Yarn | `yarn` | Alternative JS package manager |
203-
204-
## 20. Ruby on Rails
205-
206-
| Package | Friendly Name | Package Name | Notes |
207-
|---|---|---|---|
208-
| Ruby | Ruby Full Package | `ruby-full` | Ruby Programming Language |
106+
> This table reflects the minimal set of tools for lightweight containers.
209107
210-
## 21. Conda & Python ecosystem
108+
## 10. Conda & Python ecosystem
211109

212110
> Installed by `conda.sh` (Miniconda installer + conda-forge channel).
213111

0 commit comments

Comments
 (0)