parent
bacbf7d67e
commit
4df05c7457
8 changed files with 243 additions and 6 deletions
40
.forgejo/workflows/build-fedora-41.yml
Normal file
40
.forgejo/workflows/build-fedora-41.yml
Normal file
|
@ -0,0 +1,40 @@
|
|||
|
||||
$schema: https://github.com/SchemaStore/schemastore/raw/master/src/schemas/json/github-workflow.json
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ['master']
|
||||
paths:
|
||||
- "fedora-41/**"
|
||||
- "fedora-41-minimal/**"
|
||||
- "shared/**"
|
||||
- ".forgejo/workflows/build-fedora-41.yml"
|
||||
schedule:
|
||||
- cron: "0 0 * * 3" # Every Thursday 00:00
|
||||
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: linux-lg
|
||||
container:
|
||||
image: code.lightstands.xyz/standcoded/fedora-minimal:40
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version-file: 'package.json'
|
||||
- name: Fulfill Package Manager Cache
|
||||
run: dnf makecache -y --releasever 41
|
||||
- name: Sign in to Image Index
|
||||
run: buildah login code.lightstands.xyz --username ${{ env.GITHUB_ACTOR }} --password ${{ secrets.PUBLICATION_TOKEN }}
|
||||
- name: Build Minimal Images
|
||||
run: DNF_CACHE_PATH=/var/cache/dnf bun shared/build-image.ts code.lightstands.xyz/standcoded/fedora-minimal:41 fedora-41-minimal
|
||||
- name: Push Minimal Images
|
||||
run: buildah manifest push code.lightstands.xyz/standcoded/fedora-minimal:41 --all
|
||||
- name: Build Complete Images
|
||||
run: DNF_CACHE_PATH=/var/cache/dnf bun shared/build-image.ts code.lightstands.xyz/standcoded/fedora:41 fedora-41
|
||||
- name: Push Complete Images
|
||||
run: buildah manifest push code.lightstands.xyz/standcoded/fedora:41 --all
|
||||
|
|
@ -4,8 +4,10 @@ These images is cached on action runner machines and is able to run most of the
|
|||
|
||||
| Name | OS and Distro | Description | Note |
|
||||
| - | - | - | - |
|
||||
| `fedora:40` | Fedora 40 | [Description](./fedora-40/README.md) | |
|
||||
| `fedora-minimal:40` | Fedora 40 | [Description](./fedora-40-minimal/README.md) | |
|
||||
| `fedora:41` | Fedora 41 | [Description](./fedora-41/README.md) | |
|
||||
| `fedora-minimal:41` | Fedora 41 | [Description](./fedora-41-minimal/README.md) | |
|
||||
| `fedora:40` | Fedora 40 | [Description](./fedora-40/README.md) | Deprecated, will be removed after June 2025 |
|
||||
| `fedora-minimal:40` | Fedora 40 | [Description](./fedora-40-minimal/README.md) | Deprecated, will be removed after June 2025 |
|
||||
|
||||
## FAQ
|
||||
|
||||
|
|
19
fedora-41-minimal/Containerfile
Normal file
19
fedora-41-minimal/Containerfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
FROM fedora:41
|
||||
|
||||
RUN sh /imgbuild/fedora/instpkgs-minimal.sh
|
||||
|
||||
# We don't clean up dnf cache since user may want to install packages for their use
|
||||
|
||||
ADD containers.conf /etc/containers/
|
||||
|
||||
RUN sh /imgbuild/configure-nested-container.sh
|
||||
|
||||
VOLUME /var/lib/containers
|
||||
VOLUME /home/action/.local/share/containers
|
||||
|
||||
# Set up environment variables to note that this is
|
||||
# not starting with usernamespace and default to
|
||||
# isolate the filesystem with chroot.
|
||||
ENV _BUILDAH_STARTED_IN_USERNS="" BUILDAH_ISOLATION=chroot
|
||||
|
||||
ENTRYPOINT [ "/bin/bash" ]
|
64
fedora-41-minimal/README.md
Normal file
64
fedora-41-minimal/README.md
Normal file
|
@ -0,0 +1,64 @@
|
|||
# fedora-minimal:41
|
||||
|
||||
```yaml
|
||||
container:
|
||||
image: code.lightstands.xyz/standcoded/fedora-minimal:41
|
||||
```
|
||||
|
||||
## Included Softwares
|
||||
|
||||
### General
|
||||
|
||||
- coreutils
|
||||
- bash
|
||||
- aria2
|
||||
- jq
|
||||
- yq
|
||||
- zstd
|
||||
- brotil
|
||||
- sqlite
|
||||
|
||||
### Version Control
|
||||
|
||||
- git
|
||||
- git-lfs
|
||||
- git-ftp
|
||||
|
||||
### Container Management
|
||||
|
||||
- podman
|
||||
- buildah
|
||||
- fuse-overlayfs
|
||||
|
||||
### NodeJS
|
||||
|
||||
- nodejs
|
||||
- nodejs-npm
|
||||
|
||||
### Python
|
||||
|
||||
- python3
|
||||
- python3-devel
|
||||
- python3-pip
|
||||
- pipx
|
||||
|
||||
### Perl
|
||||
|
||||
- perl
|
||||
- perl-CPAN
|
||||
|
||||
### Ruby
|
||||
|
||||
- ruby
|
||||
- rubygems
|
||||
|
||||
### C
|
||||
|
||||
- clang
|
||||
- gcc
|
||||
|
||||
## Additional Configuration
|
||||
|
||||
### Building Container Images
|
||||
|
||||
This images configured buildah to be correctly run under a container. You can use [The workflow of this project](../.forgejo/workflows/build-fedora-41.yml) as an example.
|
2
fedora-41-minimal/containers.conf
Normal file
2
fedora-41-minimal/containers.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
[engine]
|
||||
cgroup_manager = "cgroupfs"
|
23
fedora-41/Containerfile
Normal file
23
fedora-41/Containerfile
Normal file
|
@ -0,0 +1,23 @@
|
|||
FROM code.lightstands.xyz/standcoded/fedora-minimal:41
|
||||
|
||||
RUN dnf install -y --setopt install_weak_deps=False sqlite-devel binutils
|
||||
|
||||
RUN dnf install -y --setopt install_weak_deps=False nodejs-devel poetry perl-devel ruby-devel
|
||||
|
||||
RUN dnf install -y --setopt install_weak_deps=False php php-devel composer
|
||||
|
||||
RUN dnf install -y --setopt install_weak_deps=False java-1.8.0-openjdk java-1.8.0-openjdk-devel
|
||||
|
||||
RUN dnf install -y --setopt install_weak_deps=False java-11-openjdk java-11-openjdk-devel
|
||||
|
||||
RUN dnf install -y --setopt install_weak_deps=False java-17-openjdk java-17-openjdk-devel
|
||||
|
||||
RUN dnf install -y --setopt install_weak_deps=False java-21-openjdk java-21-openjdk-devel
|
||||
|
||||
RUN dnf install -y --setopt install_weak_deps=False qemu-user-static qemu-user-binfmt
|
||||
|
||||
RUN dnf install -y --setopt install_weak_deps=False bison flex vcpkg
|
||||
|
||||
RUN dnf group install -y --setopt install_weak_deps=False "C Development Tools and Libraries"
|
||||
|
||||
RUN npm -g install corepack
|
91
fedora-41/README.md
Normal file
91
fedora-41/README.md
Normal file
|
@ -0,0 +1,91 @@
|
|||
# fedora:41
|
||||
|
||||
```yaml
|
||||
container:
|
||||
image: code.lightstands.xyz/standcoded/fedora:40
|
||||
```
|
||||
|
||||
## Included Softwares
|
||||
|
||||
### General
|
||||
|
||||
- coreutils
|
||||
- bash
|
||||
- aria2
|
||||
- jq
|
||||
- yq
|
||||
- zstd
|
||||
- brotil
|
||||
- sqlite
|
||||
- sqlite-devel
|
||||
- binutils
|
||||
|
||||
### Version Control
|
||||
|
||||
- git
|
||||
- git-lfs
|
||||
- git-ftp
|
||||
|
||||
### Container Management
|
||||
|
||||
- podman
|
||||
- buildah
|
||||
- fuse-overlayfs
|
||||
- qemu-user-static
|
||||
- qemu-user-binfmt
|
||||
|
||||
### NodeJS
|
||||
|
||||
- nodejs
|
||||
- nodejs-npm
|
||||
- nodejs-devel
|
||||
- corepack
|
||||
|
||||
### Python
|
||||
|
||||
- python3-devel
|
||||
- python3-pip
|
||||
- pipx
|
||||
- poetry
|
||||
|
||||
### Perl
|
||||
|
||||
- perl
|
||||
- perl-CPAN
|
||||
- perl-devel
|
||||
|
||||
### Ruby
|
||||
|
||||
- ruby
|
||||
- rubygems
|
||||
- ruby-devel
|
||||
|
||||
### C/C++
|
||||
|
||||
- clang
|
||||
- gcc
|
||||
- bison
|
||||
- flex
|
||||
- "C Development Tools and Libraries"
|
||||
- vcpkg
|
||||
|
||||
### PHP
|
||||
|
||||
- php
|
||||
- php-devel
|
||||
- composer
|
||||
|
||||
### Java
|
||||
|
||||
| Version | Packages |
|
||||
| - | - |
|
||||
| 1.8.0 | java-1.8.0-openjdk, java-1.8.0-openjdk-devel |
|
||||
| 11 | java-11-openjdk, java-11-openjdk-devel |
|
||||
| 17 | java-17-openjdk, java-17-openjdk-devel |
|
||||
| 21 | java-21-openjdk, java-21-openjdk-devel |
|
||||
|
||||
## Additional Configuration
|
||||
|
||||
### Building Container Images
|
||||
|
||||
This images configured buildah to be correctly run under a container. You can use [The workflow of this project](../.forgejo/workflows/build-fedora-41.yml) as an example.
|
|
@ -1,4 +0,0 @@
|
|||
# https://learn.microsoft.com/zh-cn/vcpkg/get_started/get-started?pivots=shell-cmd
|
||||
|
||||
echo TODO
|
||||
exit 1
|
Loading…
Reference in a new issue