diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 545963de3f..5158667385 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -213,6 +213,7 @@ jobs: env: WINDOWS_APP_RELEASE_PATH: frontend\app_flowy\product\${{ github.ref_name }}\windows WINDOWS_ZIP_NAME: AppFlowy-windows-x86_64.zip + WINDOWS_INSTALLER_NAME: AppFlowy-${{ github.ref_name }}-windows-x86_64 steps: - name: Checkout uses: actions/checkout@v3 @@ -246,6 +247,16 @@ jobs: with: files: ${{ env.WINDOWS_APP_RELEASE_PATH }}\ dest: ${{ env.WINDOWS_APP_RELEASE_PATH }}\${{ env.WINDOWS_ZIP_NAME }} + + - name: Copy installer config & icon file + working-directory: frontend + run: | + cp scripts/windows_installer/* ../${{ env.WINDOWS_APP_RELEASE_PATH }} + + - name: Build installer executable + working-directory: ${{ env.WINDOWS_APP_RELEASE_PATH }} + run: | + iscc /F${{ env.WINDOWS_INSTALLER_NAME }} inno_setup_config.iss /DAppVersion=${{ github.ref_name }} - name: Upload Release Asset id: upload-release-asset @@ -257,3 +268,14 @@ jobs: asset_path: ${{ env.WINDOWS_APP_RELEASE_PATH }}\${{ env.WINDOWS_ZIP_NAME }} asset_name: ${{ env.WINDOWS_ZIP_NAME }} asset_content_type: application/octet-stream + + - name: Upload Installer Asset + id: upload-installer-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.create-release.outputs.upload_url }} + asset_path: ${{ env.WINDOWS_APP_RELEASE_PATH }}\Output\${{ env.WINDOWS_INSTALLER_NAME }}.exe + asset_name: ${{ env.WINDOWS_INSTALLER_NAME }}.exe + asset_content_type: application/octet-stream diff --git a/frontend/scripts/windows_installer/flowy_logo.ico b/frontend/scripts/windows_installer/flowy_logo.ico new file mode 100644 index 0000000000..96dc83f062 Binary files /dev/null and b/frontend/scripts/windows_installer/flowy_logo.ico differ diff --git a/frontend/scripts/windows_installer/inno_setup_config.iss b/frontend/scripts/windows_installer/inno_setup_config.iss new file mode 100644 index 0000000000..1c127bb4d8 --- /dev/null +++ b/frontend/scripts/windows_installer/inno_setup_config.iss @@ -0,0 +1,21 @@ +[Setup] +AppName=AppFlowy +AppVersion={#AppVersion} +WizardStyle=modern +Compression=lzma2 +SolidCompression=yes +DefaultDirName={autopf}\AppFlowy\ +DefaultGroupName=AppFlowy +SetupIconFile=flowy_logo.ico +UninstallDisplayIcon={app}\app_flowy.exe +UninstallDisplayName=AppFlowy +AppPublisher=AppFlowy-IO +VersionInfoVersion={#AppVersion} + +[Files] +Source: "AppFlowy\app_flowy.exe";DestDir: "{app}";DestName: "app_flowy.exe" +Source: "AppFlowy\*";DestDir: "{app}" +Source: "AppFlowy\data\*";DestDir: "{app}\data\"; Flags: recursesubdirs + +[Icons] +Name: "{group}\AppFlowy";Filename: "{app}\app_flowy.exe" \ No newline at end of file