diff --git a/.gitea/workflows/build-windows.yml b/.gitea/workflows/build-windows.yml index ae0ed77..0485e26 100644 --- a/.gitea/workflows/build-windows.yml +++ b/.gitea/workflows/build-windows.yml @@ -1,4 +1,4 @@ -name: Build Windows +name: Build Windows Installer on: push: @@ -11,15 +11,55 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: subosito/flutter-action@v2 + - name: Setup Flutter + uses: subosito/flutter-action@v2 with: channel: stable - - run: flutter pub get + - name: Get dependencies + run: flutter pub get - - run: flutter build windows --release + - name: Build Windows release + run: flutter build windows --release - - uses: actions/upload-artifact@v4 + - name: Install Inno Setup + run: | + choco install innosetup --no-progress -y + + - name: Build Inno Setup installer + shell: cmd + run: | + "C:\ProgramData\chocolatey\bin\ISCC.exe" windows\installer.iss + + - name: Upload release artifacts + uses: actions/upload-artifact@v4 with: name: imajViewer-windows - path: build/windows/x64/runner/Release/ + path: | + build/windows/x64/runner/Release/ + dist/imajviewer_setup_*.exe + + create-release: + needs: build-windows + runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/v') + steps: + - uses: actions/checkout@v4 + + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: imajViewer-windows + path: release-artifacts/windows + + - name: Create Gitea Release + uses: nicojeske/mirror-gitea-release@v1 + with: + gitea_url: https://git.softmediadesign.com + repo: git_alhan/imajviewer + tag_name: ${{ github.ref_name }} + release_name: "imajViewer ${{ github.ref_name }}" + body: "Windows installer and build artifacts" + files: release-artifacts/windows/** + env: + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} diff --git a/dist/imajviewer_setup_1.0.0.exe b/dist/imajviewer_setup_1.0.0.exe index 1bb728d..72687c1 100644 Binary files a/dist/imajviewer_setup_1.0.0.exe and b/dist/imajviewer_setup_1.0.0.exe differ diff --git a/docs/index.md b/docs/index.md index 4a952ec..1fc7c18 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,6 +2,7 @@ | Tarih | Dosya | Konu | |---|---|---| +| 2026-07-27 | [session-windows-ci.md](session-windows-ci.md) | **Windows setup.exe yeniden derlendi, Gitea CI eklendi** | | 2026-07-27 | [session-2026-07-27.md](session-2026-07-27.md) | **Session özeti** — rotate aktif, StartupWMClass ile taskbar gruplama | | 2026-07-27 | [image-canvas-interactions.md](image-canvas-interactions.md) | Detaylı analiz: contrast, saturation, rotate implementasyon planı | | önceki | [zoom-clamp-mekanizmasi.md](zoom-clamp-mekanizmasi.md) | Zoom clamp mekanizması (letterbox-aware) | diff --git a/docs/session-windows-ci.md b/docs/session-windows-ci.md new file mode 100644 index 0000000..02b4de2 --- /dev/null +++ b/docs/session-windows-ci.md @@ -0,0 +1,30 @@ +# Session — Windows CI & Installer + +**Tarih:** 2026-07-27 + +## Yapılanlar + +1. **Gitea'dan son değişiklikler çekildi** + - `feat: rotate (Shift+sag tik), StartupWMClass taskbar gruplama` + - `feat: right-click contrast, Ctrl+saturation, Shift+rotate filters` + - `feat: use imajviewericon.png as app icon` + - `chore: reorganize dist/, remove release/, update install paths` + +2. **Windows release yeniden derlendi** + - `flutter pub get` ile bağımlılıklar güncellendi + - `flutter build windows --release` ile yeni özellikleri (contrast, saturation, rotate) içeren binary oluşturuldu + - Yeni ikon (imajviewericon.png) build'e dahil edildi + +3. **Inno Setup installer yeniden oluşturuldu** + - `dist/imajviewer_setup_1.0.0.exe` — 24 MB + - İçerir: imajviewer.exe + tüm DLL'ler + data dosyaları + - Dil desteği: Türkçe + İngilizce + - Dosya ilişkilendirmeleri: .png, .jpg, .jpeg, .webp, .bmp, .gif + - İsteğe bağlı masaüstü kısayolu + +4. **Gitea CI workflow güncellendi** (`.gitea/workflows/build-windows.yml`) + - Flutter build adımı korundu + - Inno Setup kurulumu (`choco install innosetup`) eklendi + - `ISCC.exe` ile installer build adımı eklendi + - Release artifact'e hem build çıktısı hem de `dist/*.exe` eklendi + - Tag bazlı release job'ı eklendi (opsiyonel, `GITEA_TOKEN` secret gerektirir)