Skip to content

Commit

Permalink
Add Dockerfile and github docker workflow pushing to ghcr.io (#1)
Browse files Browse the repository at this point in the history
  • Loading branch information
learn-more authored Aug 15, 2024
1 parent c621dfd commit d7f6808
Show file tree
Hide file tree
Showing 4 changed files with 99 additions and 0 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -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 changes: 39 additions & 0 deletions Docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
FROM ubuntu:24.04
LABEL org.opencontainers.image.authors="Mark Jansen <[email protected]>"
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 changes: 31 additions & 0 deletions Docker/README.md
Original file line number Diff line number Diff line change
@@ -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
```
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Release Engineering

This repository contains the scripts used to create ReactOS release images

The docker image is created from the [Docker](Docker) folder.

0 comments on commit d7f6808

Please sign in to comment.