Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
uses: mr-smithers-excellent/docker-build-push@v6
with:
image: rosbe-unix-release-engineering
dockerfile: Docker/Dockerfile
dockerfile: Dockerfile
registry: ghcr.io
addLatest: true
username: ${{ github.actor }}
Expand Down
31 changes: 0 additions & 31 deletions Docker/README.md

This file was deleted.

10 changes: 5 additions & 5 deletions Docker/Dockerfile → Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
FROM ubuntu:24.04
LABEL org.opencontainers.image.authors="Mark Jansen <mark.jansen@reactos.org>"
LABEL org.opencontainers.image.authors="Mark Jansen <mark.jansen@reactos.org>, Carl Bialorucki <carl.bialorucki@reactos.org>"
LABEL Description="RosBE-Unix on Ubuntu with Release Engineering scripts"

WORKDIR /work
Expand Down Expand Up @@ -31,8 +31,8 @@ RUN wget https://downloads.sourceforge.net/reactos/RosBE-Unix-2.2.1.tar.bz2 \
&& 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
COPY Scripts/* /usr/local/bin

CMD ["/usr/local/RosBE/RosBE.sh", "/work"]
RUN git clone https://github.com/reactos/reactos.git /reactos

CMD ["/usr/local/RosBE/RosBE.sh", "/reactos"]
41 changes: 40 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,43 @@

This repository contains the scripts used to create ReactOS release images.

The docker image is created from the [Docker](Docker) folder.
## Building a release using Docker
You can build ReactOS releases locally in three easy steps, assuming you have Docker Desktop installed.

#### 1. Building the container
Clone this git repository and `cd` into it. From the root of the repository, run the commands below. This will create a Docker image called `reactos-base` and a Docker container called `reactos-builder`.

```bash
docker build -t reactos-base .
docker run --name reactos-builder -it reactos-base
```
Your container will now be set up and your terminal will be connected to it. To disconnect from the container, run `exit`.

If you disconnect from your container, you can reconnect to it using this command:
```bash
docker start -ai reactos-builder
```

#### 2. Building release deliverables
Once you connect to your container, you will be in the `/reactos` directory. This contains a git clone of the ReactOS repository. To build release deliverables, simply checkout the branch with the release you want to make and run `release`.
```bash
git checkout {release branch}
release
```
The release script will handle fetching the latest commits from origin, downloading optional modules, building ReactOS, and creating the deliverables. When there is no internet connection, the release script is smart enough to continue if optional modules were downloaded previously and warn about not fetching from origin.

#### 3. Copying the deliverables
When complete, the release script will display a message similar to this:

```
*******************************************************************************
Successfully created the following packages:
/reactos/deliverables/ReactOS-0.4.16-dev-2669-i386.zip
/reactos/deliverables/ReactOS-0.4.16-dev-2669-src.zip
*******************************************************************************
```

Simply copy the release deliverables from the `/reactos/deliverables` folder to your computer to use them as needed. You can copy them from the container using Docker Desktop's graphical interface, or you can use the Docker command line interface. For example, this will copy the contents of `/reactos/deliverables` to the current working directory if your container name is `reactos-builder`:
```bash
docker cp reactos-builder:/reactos/deliverables/. .
```
65 changes: 0 additions & 65 deletions Release_Configure

This file was deleted.

72 changes: 0 additions & 72 deletions Release_ISOs

This file was deleted.

35 changes: 0 additions & 35 deletions Release_Source

This file was deleted.

Loading