Compare commits

...

2 Commits

Author SHA1 Message Date
giomba c6a46a7293 Update README.md with CI best practices.
continuous-integration/drone/push Build is passing Details
2023-01-08 22:35:37 +01:00
giomba 802fd5c21f Introduce CI.
continuous-integration/drone/push Build is passing Details
2023-01-08 22:09:12 +01:00
7 changed files with 71 additions and 11 deletions

11
.drone.yml Normal file
View File

@ -0,0 +1,11 @@
---
kind: pipeline
type: docker
name: default
steps:
- name: build
image: git.golem.linux.it/golem/gestionale-builder:1
commands:
- script/build

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
build/
*.pro.user
build-*

11
Dockerfile Normal file
View File

@ -0,0 +1,11 @@
FROM ubuntu:22.04
RUN useradd builder
RUN apt update && apt upgrade -y && apt install -y \
git \
make \
cmake \
qtbase5-dev \
g++

View File

@ -17,15 +17,26 @@ Create `~/.config/it.linux.golem/component.conf` with following content:
username=golem
password=guess
## Dependencies
On Debian/Ubuntu/Mint:
* qt5-default
* TODO
## Build
Download the build container:
```
docker pull git.golem.linux.it/golem/gestionale-build
```
# Build
$ cd $REPOSITORY
$ mkdir build-component
$ cd build-component
$ qmake ../component
$ make -j$(nproc)
Or, if you prefer, you can also build it by yourself:
```
script/setup
```
Then, run all the commands in the build container, simply by preceding them with `docker`.
Example:
```
./docker ls
```
Every command you'll ever need to build this software should be scripted inside the `script/` directory.
Example: compile everything and produce executable.
```
./docker script/build
```

11
docker Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
REPODIR=$(realpath $(dirname "$0"))
docker run --rm -ti -u builder \
-v "$REPODIR":/workspace \
-v /tmp:/tmp \
-w /workspace \
gestionale-builder \
"$@"

10
script/build Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
REPODIR=$(realpath $(dirname "$0")/..)
BUILDIR="$REPODIR"/build
mkdir -p "$BUILDIR"
cmake -B "$BUILDIR"
make -j$(nproc) -C "$BUILDIR"

6
script/setup Executable file
View File

@ -0,0 +1,6 @@
#!/bin/bash
REPODIR=$(realpath $(dirname "$0")/..)
docker build -t git.golem.linux.it/golem/gestionale-builder:1 "$REPODIR"