diff --git a/.gitea/workflows/auto-tag-develop.yml b/.gitea/workflows/auto-tag-develop.yml index 64d70a5..c29ec6c 100644 --- a/.gitea/workflows/auto-tag-develop.yml +++ b/.gitea/workflows/auto-tag-develop.yml @@ -16,7 +16,7 @@ jobs: token: ${{ secrets.REGISTRY_TOKEN }} persist-credentials: true - - name: Create next tag from VERSION + - name: Create next tag from config/version.yaml shell: bash run: | set -euo pipefail @@ -28,18 +28,18 @@ jobs: fi changed_version=false - if git diff --name-only "${{ gitea.event.before }}" "${{ gitea.event.after }}" | grep -q '^VERSION$'; then + if git diff --name-only "${{ gitea.event.before }}" "${{ gitea.event.after }}" | grep -q '^config/version\.yaml$'; then changed_version=true fi read_version() { - cat VERSION | tr -d '[:space:]' + awk -F': *' '/app\.version:/{print $2}' config/version.yaml | tr -d '[:space:]' | tr -d "'\"" } if $changed_version; then version="$(read_version)" if ! [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then - echo "Invalid version in VERSION: $version" >&2 + echo "Invalid version in version.yaml: $version" >&2 exit 1 fi else @@ -52,10 +52,10 @@ jobs: version="${major}.${minor}.$((patch + 1))" fi - echo "$version" > VERSION + printf "parameters:\\n app.version: '%s'\\n" "$version" > config/version.yaml git config user.name "gitea-actions" git config user.email "gitea-actions@local" - git add VERSION + git add config/version.yaml git commit -m "chore : bump version to v$version" || true git push origin develop || true fi diff --git a/VERSION b/VERSION deleted file mode 100644 index fee0a27..0000000 --- a/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.9.7 diff --git a/config/packages/api_platform.yaml b/config/packages/api_platform.yaml index 336f967..9068cfc 100644 --- a/config/packages/api_platform.yaml +++ b/config/packages/api_platform.yaml @@ -1,7 +1,7 @@ api_platform: title: Inventory API description: API de gestion d'inventaire industriel — machines, pièces, composants, produits. - version: 1.9.1 + version: 1.9.6 defaults: stateless: false cache_headers: diff --git a/config/version.yaml b/config/version.yaml new file mode 100644 index 0000000..4739be1 --- /dev/null +++ b/config/version.yaml @@ -0,0 +1,2 @@ +parameters: + app.version: '1.9.6' diff --git a/deploy/docker/Dockerfile.prod b/deploy/docker/Dockerfile.prod index abfca4b..5e12134 100644 --- a/deploy/docker/Dockerfile.prod +++ b/deploy/docker/Dockerfile.prod @@ -19,7 +19,6 @@ COPY migrations migrations/ COPY public public/ COPY src src/ COPY templates templates/ -COPY VERSION VERSION RUN composer dump-autoload --optimize --no-dev @@ -31,6 +30,7 @@ COPY frontend/package.json frontend/package-lock.json ./ RUN npm ci COPY frontend/ ./ +COPY config/version.yaml /app/config/version.yaml ENV CI=1 \ NUXT_TELEMETRY_DISABLED=1 \ NUXT_PUBLIC_API_BASE_URL=/api \ diff --git a/deploy/docker/deploy.sh b/deploy/docker/deploy.sh index c2a0ee5..026180e 100755 --- a/deploy/docker/deploy.sh +++ b/deploy/docker/deploy.sh @@ -24,5 +24,5 @@ echo "==> Clearing cache..." sudo docker compose exec -T -u www-data app php bin/console cache:clear --env=prod sudo docker compose exec -T -u www-data app php bin/console cache:warmup --env=prod -VERSION=$(sudo docker compose exec -T app cat VERSION) +VERSION=$(sudo docker compose exec -T app cat config/version.yaml | grep 'app.version' | awk -F"'" '{print $2}') echo "==> Deployed v${VERSION}" diff --git a/frontend/nuxt.config.ts b/frontend/nuxt.config.ts index ccab97c..6a5775a 100644 --- a/frontend/nuxt.config.ts +++ b/frontend/nuxt.config.ts @@ -3,12 +3,14 @@ import { readFileSync } from 'node:fs' import { dirname, resolve } from 'node:path' import { fileURLToPath } from 'node:url' -// Lire la version depuis le fichier VERSION à la racine du projet parent +// Lire la version depuis config/version.yaml à la racine du projet parent const getAppVersion = (): string => { try { const __dirname = dirname(fileURLToPath(import.meta.url)) - const versionPath = resolve(__dirname, '..', 'VERSION') - return readFileSync(versionPath, 'utf-8').trim() + const versionPath = resolve(__dirname, '..', 'config', 'version.yaml') + const content = readFileSync(versionPath, 'utf-8') + const match = content.match(/app\.version:\s*'([^']+)'/) + return match ? match[1] : '0.0.0' } catch { return '0.0.0' } diff --git a/scripts/release.sh b/scripts/release.sh index c9a0992..5c9980d 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -11,11 +11,11 @@ NC='\033[0m' # No Color # Répertoire racine du projet SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(dirname "$SCRIPT_DIR")" -VERSION_FILE="$PROJECT_ROOT/VERSION" +VERSION_FILE="$PROJECT_ROOT/config/version.yaml" API_PLATFORM_FILE="$PROJECT_ROOT/config/packages/api_platform.yaml" # Lire la version actuelle -current_version=$(cat "$VERSION_FILE" | tr -d '\n') +current_version=$(awk -F': *' '/app\.version:/{print $2}' "$VERSION_FILE" | tr -d "' \n\r") # Fonction pour afficher l'aide show_help() { @@ -113,8 +113,8 @@ cd "$PROJECT_ROOT" # =========================================== # ÉTAPE 1 : Mettre à jour VERSION # =========================================== -echo -e "${BLUE}[1/4]${NC} Mise à jour du fichier VERSION..." -echo "$new_version" > "$VERSION_FILE" +echo -e "${BLUE}[1/4]${NC} Mise à jour de config/version.yaml..." +printf "parameters:\\n app.version: '%s'\\n" "$new_version" > "$VERSION_FILE" # =========================================== # ÉTAPE 2 : Mettre à jour api_platform.yaml