From ac2e3669cac23f72093ea3d8a94366fc176be6a7 Mon Sep 17 00:00:00 2001 From: Maieul BOYER Date: Wed, 14 Jan 2026 14:10:39 +0100 Subject: [PATCH] feat(devops): tried to fix ci --- .github/workflows/docker-image.yml | 4 ++- Docker.mk | 47 +++++++++++++++++++++++++----- Makefile | 5 ++++ flake.nix | 7 ----- 4 files changed, 48 insertions(+), 15 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 8219a54..f2b1e49 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -14,5 +14,7 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Generate valid .enva + run: make generateEnv - name: Build the Docker image - run: make all + run: make all CI=y diff --git a/Docker.mk b/Docker.mk index 23990f2..6e5bec6 100644 --- a/Docker.mk +++ b/Docker.mk @@ -1,16 +1,46 @@ .PHONY: logs +# Set DEV only if it is not already set and .dev file exists +IS_CI=n +IS_DEV=n + +REDUCED_SET=n +DOCKER_SERVICE= + +ifndef DEV +ifeq "$(wildcard .dev)" ".dev" + IS_DEV := y + REDUCED_SET := y +endif +endif + + +ifeq "$(DEV)" "y" + IS_DEV := y + REDUCED_SET := y +endif + +ifeq "$(CI)" "y" + IS_CI := y + REDUCED_SET := y +endif + # TODO: REMOVE THIS BEFORE LAUNCH # this allows the us to only start the non-monitoring sercices -#DOCKER_SERVICE= \ -# auth \ -# chat \ -# tic-tac-toe \ -# nginx \ -# user \ -# pong \ +ifeq "$(REDUCED_SET)" "y" + DOCKER_SERVICE := \ + auth \ + chat \ + tic-tac-toe \ + nginx \ + user \ + pong +endif all: build + @[ $(REDUCED_SET) = y ] && echo -e "\x1b[31mUSING REDUCED SET OF DOCKER CONTAINER\x1b[0m" || true + @[ $(IS_DEV) = y ] && echo -e "\x1b[31mUsing dev mode => remove .dev if needed\x1b[0m" || true + @[ $(IS_CI) = y ] && echo -e "\x1b[31mUsing CI mode => Check env if needed\x1b[0m" || true docker compose up -d $(DOCKER_SERVICE) logs: @@ -20,6 +50,9 @@ down: docker compose down build: .env + @[ $(REDUCED_SET) = y ] && echo -e "\x1b[31mUSING REDUCED SET OF DOCKER CONTAINER\x1b[0m" || true + @[ $(IS_DEV) = y ] && echo -e "\x1b[31mUsing dev mode => remove .dev if needed\x1b[0m" || true + @[ $(IS_CI) = y ] && echo -e "\x1b[31mUsing CI mode => Check env if needed\x1b[0m" || true docker compose build $(DOCKER_SERVICE) re: diff --git a/Makefile b/Makefile index 57f5abf..44b1099 100644 --- a/Makefile +++ b/Makefile @@ -151,5 +151,10 @@ fnginx: nginx-dev/nginx nginx-dev/nginx-selfsigned.crt nginx-dev/nginx-selfsigne jwt_secret: sh -c "dd if=/dev/urandom bs=32 count=1 2>/dev/null | base64 | tr -d -- '\n' | tr -- '+/' '-_'; echo" +generateEnv: + cp env.example .env + sed -i 's/^JWT_SECRET=.*/JWT_SECRET=$(shell sh -c "dd if=/dev/urandom bs=32 count=1 2>/dev/null | base64 | tr -d -- '\n' | tr -- '+/' '-_'; echo")/' .env + + # phony .PHONY: all clean fclean re header footer npm@install npm@clean npm@fclean npm@build sql tmux logs jwt_secret diff --git a/flake.nix b/flake.nix index 7050d2b..7a9fe50 100644 --- a/flake.nix +++ b/flake.nix @@ -4,17 +4,12 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs"; flake-utils.url = "github:numtide/flake-utils"; - dbmlSQLite = { - url = "github:maix0/DBML_SQLite"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = { self, nixpkgs, flake-utils, - dbmlSQLite, }: flake-utils.lib.eachDefaultSystem ( system: let @@ -44,7 +39,6 @@ packages = with pkgs; [ act clang - dbmlSQLite.packages.${system}.default gnumake lazydocker nodejs_22 @@ -64,7 +58,6 @@ export PODMAN_COMPOSE_WARNING_LOGS="false"; export DATABASE_DIR="$(realpath .)/db" mkdir -p $DATABASE_DIR - export JWT_SECRET="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ''; }; }