From e0edc1169be46b5830ea4784f7c652aab7ea91b7 Mon Sep 17 00:00:00 2001 From: blazejOz Date: Tue, 24 Mar 2026 09:00:02 +0100 Subject: [PATCH 1/5] feat(build.yml): base CI for github actions --- .github/workflows/build.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..70d24d7 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,29 @@ +name: CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build-and-test: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install Build Tools + run: | + sudo apt-get update + sudo apt-get install -y cmake gcc make + + - name: Configure CMake + run: cmake -B build + + - name: Build Project + run: cmake --build build + + - name: Run Unit Tests + run: ./build/unit_tests \ No newline at end of file From 8b4fd0a3cdf460b682c0c131dfd400419c4309ba Mon Sep 17 00:00:00 2001 From: blazejOz Date: Tue, 24 Mar 2026 09:13:56 +0100 Subject: [PATCH 2/5] feat(dockerfile): add docker file --- .dockerignore | 3 +++ Dockerfile | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..e0881e3 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +build/ +.git/ +.vscode/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f1d6ecf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM ubuntu:24.04 + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && apt-get install -y \ + cmake \ + gcc \ + g++ \ + make \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +COPY . . + +RUN cmake -B build && cmake --build build + +ENTRYPOINT ["./build/mini_shell"] \ No newline at end of file From 32532d49610da0953c6d5eb3a863b668a40bd91c Mon Sep 17 00:00:00 2001 From: blazejOz Date: Tue, 24 Mar 2026 09:18:38 +0100 Subject: [PATCH 3/5] feat(build.yml): add docker imgage to github --- .github/workflows/build.yml | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 70d24d7..38abd32 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,10 +1,19 @@ -name: CI +name: CI and Docker on: push: branches: [ "main" ] + + permissions: + contents: read + packages: write + pull_request: branches: [ "main" ] + + permissions: + contents: read + packages: write jobs: build-and-test: @@ -26,4 +35,18 @@ jobs: run: cmake --build build - name: Run Unit Tests - run: ./build/unit_tests \ No newline at end of file + run: ./build/unit_tests + + - name: Log in to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and Push Docker Image + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: ghcr.io/${{ github.repository }}:latest \ No newline at end of file From d7a6f1be96b26b72e5509e3fbd50774a66e9ca7d Mon Sep 17 00:00:00 2001 From: blazejOz Date: Tue, 24 Mar 2026 09:21:38 +0100 Subject: [PATCH 4/5] fix(build.yml): fix permisions and typos --- .github/workflows/build.yml | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 38abd32..49ed52f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,17 +3,12 @@ name: CI and Docker on: push: branches: [ "main" ] - - permissions: - contents: read - packages: write - pull_request: branches: [ "main" ] - - permissions: - contents: read - packages: write + +permissions: + contents: read + packages: write jobs: build-and-test: @@ -38,11 +33,11 @@ jobs: run: ./build/unit_tests - name: Log in to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Build and Push Docker Image uses: docker/build-push-action@v5 From b5ed24bcf65e3bccee4afb43cde2576eb3c7ecea Mon Sep 17 00:00:00 2001 From: blazejOz Date: Tue, 24 Mar 2026 09:26:41 +0100 Subject: [PATCH 5/5] fix(build.yml): fix lowercase docker image name --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 49ed52f..ff87899 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,4 +44,4 @@ jobs: with: context: . push: true - tags: ghcr.io/${{ github.repository }}:latest \ No newline at end of file + tags: ghcr.io/blazejoz/mini_shell:latest \ No newline at end of file