mirror of
https://github.com/reactos/Release_Engineering.git
synced 2024-11-26 21:30:31 +00:00
Add Dockerfile and github docker workflow pushing to ghcr.io (#1)
This commit is contained in:
parent
c621dfd21d
commit
d7f680803b
24
.github/workflows/docker.yml
vendored
Normal file
24
.github/workflows/docker.yml
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
name: Docker
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
docker:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Build and Push Docker Image
|
||||||
|
uses: mr-smithers-excellent/docker-build-push@v6
|
||||||
|
with:
|
||||||
|
image: rosbe-unix-release-engineering
|
||||||
|
dockerfile: Docker/Dockerfile
|
||||||
|
registry: ghcr.io
|
||||||
|
addLatest: true
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
39
Docker/Dockerfile
Normal file
39
Docker/Dockerfile
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
FROM ubuntu:24.04
|
||||||
|
LABEL org.opencontainers.image.authors="Mark Jansen <mark.jansen@reactos.org>"
|
||||||
|
LABEL Description="RosBE-Unix on Ubuntu with Release Engineering scripts"
|
||||||
|
|
||||||
|
WORKDIR /work
|
||||||
|
|
||||||
|
# The settings `DEBIAN_FRONTEND="noninteractive" TZ="Europe/Amsterdam"` are for `texinfo`
|
||||||
|
RUN apt-get update -y \
|
||||||
|
&& apt-get upgrade -y \
|
||||||
|
&& DEBIAN_FRONTEND="noninteractive" TZ="Europe/Amsterdam" apt-get install -y \
|
||||||
|
bison \
|
||||||
|
build-essential \
|
||||||
|
flex \
|
||||||
|
git \
|
||||||
|
nano \
|
||||||
|
p7zip-full \
|
||||||
|
pkg-config \
|
||||||
|
python-is-python3 \
|
||||||
|
python3 \
|
||||||
|
texinfo \
|
||||||
|
wget \
|
||||||
|
zip \
|
||||||
|
zlib1g-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN wget https://downloads.sourceforge.net/reactos/RosBE-Unix-2.2.1.tar.bz2 \
|
||||||
|
&& tar -xjf RosBE-Unix-2.2.1.tar.bz2 \
|
||||||
|
&& rm RosBE-Unix-2.2.1.tar.bz2 \
|
||||||
|
&& cd RosBE-Unix-2.2.1 \
|
||||||
|
&& echo yes | bash RosBE-Builder.sh /usr/local/RosBE \
|
||||||
|
&& cd .. \
|
||||||
|
&& rm -rf RosBE-Unix-2.2.1
|
||||||
|
|
||||||
|
RUN git clone https://github.com/reactos/Release_Engineering \
|
||||||
|
|
||||||
|
&& mv Release_Engineering/Release_* /usr/local/bin \
|
||||||
|
&& rm -rf Release_Engineering
|
||||||
|
|
||||||
|
CMD ["/usr/local/RosBE/RosBE.sh", "/work"]
|
31
Docker/README.md
Normal file
31
Docker/README.md
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# RosBE-Unix on Ubuntu with Release Engineering scripts
|
||||||
|
|
||||||
|
Normally this docker container can be used from ghcr.io
|
||||||
|
|
||||||
|
Below steps outline the process of running it locally.
|
||||||
|
|
||||||
|
## Building the container
|
||||||
|
|
||||||
|
- Create an image named `reactos-base`:
|
||||||
|
- `docker build --pull --rm -f "Dockerfile" -t reactos-base "."`
|
||||||
|
- Create a container named `reactos-builder` from the `reactos-base` image
|
||||||
|
- `docker run --name reactos-builder -it reactos-base`
|
||||||
|
- `exit` to close the container
|
||||||
|
|
||||||
|
## Running the container
|
||||||
|
|
||||||
|
- Run the `reactos-builder`:
|
||||||
|
- `docker start reactos-builder`
|
||||||
|
- Show all docker containers:
|
||||||
|
- `docker ps`
|
||||||
|
- Attach to the running `reactos-builder`:
|
||||||
|
- `docker attach 03e11af06800` (where `03e11af06800` is the `CONTAINER ID` from the running container)
|
||||||
|
|
||||||
|
## Building a release
|
||||||
|
|
||||||
|
```bash
|
||||||
|
Release_Configure
|
||||||
|
# Answer the prompts
|
||||||
|
Release_ISOs
|
||||||
|
Release_Source
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user