update release workflow

This commit is contained in:
rambros 2026-02-25 16:35:47 +05:30
parent 2bd6456f45
commit 40d7dbaac9
2 changed files with 27 additions and 17 deletions

View file

@ -57,17 +57,15 @@ jobs:
- name: Prepare Release Asset (Linux/MacOS) - name: Prepare Release Asset (Linux/MacOS)
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
run: | run: |
mkdir discord-reaper cp ${{ matrix.executable_path }} fluxer-reaper
cp ${{ matrix.executable_path }} discord-reaper/ chmod +x fluxer-reaper
chmod +x discord-reaper/fluxer-reaper zip ${{ matrix.asset_name }} fluxer-reaper
zip -r ${{ matrix.asset_name }} discord-reaper/
- name: Prepare Release Asset (Windows) - name: Prepare Release Asset (Windows)
if: matrix.os == 'windows-latest' if: matrix.os == 'windows-latest'
run: | run: |
mkdir discord-reaper copy ${{ matrix.executable_path }} fluxer-reaper.exe
copy ${{ matrix.executable_path }} discord-reaper\ powershell Compress-Archive -Path "fluxer-reaper.exe" -DestinationPath "${{ matrix.asset_name }}"
powershell Compress-Archive -Path "discord-reaper" -DestinationPath "${{ matrix.asset_name }}"
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4

View file

@ -1250,18 +1250,18 @@ class MigrationCLI:
console.print(f"\n[bold green]Success! {result_stats['messages']} messages migrated to {target_channel.get('name')}.[/bold green]") console.print(f"\n[bold green]Success! {result_stats['messages']} messages migrated to {target_channel.get('name')}.[/bold green]")
lines = [f"Successfully migrated messages from Discord [cyan]#{source_channel.name}[/cyan] to [blue]#{target_channel.get('name')}[/blue]:"] lines = [f"Successfully migrated messages from Discord #{source_channel.name} to {platform_name} #{target_channel.get('name')}:"]
lines.append(f"\n**Stats:**")
lines.append(f"- {result_stats['messages']} messages")
lines.append(f"- {result_stats['attachments']} attachments")
lines.append(f"- {result_stats['threads']} threads")
if result_stats.get('first_message_url') or result_stats.get('last_message_url'): if result_stats.get('first_message_url') or result_stats.get('last_message_url'):
lines.append(f"\n**Message Info:**") lines.append(f"**Message Info:**")
if result_stats.get('first_message_url'): if result_stats.get('first_message_url'):
lines.append(f"- First message: <{result_stats['first_message_url']}>") lines.append(f"- First message: <{result_stats['first_message_url']}>")
if result_stats.get('last_message_url'): if result_stats.get('last_message_url'):
lines.append(f"- Last message: <{result_stats['last_message_url']}>") lines.append(f"- Last message: <{result_stats['last_message_url']}>")
lines.append(f"**Stats:**")
lines.append(f"- {result_stats['messages']} messages")
lines.append(f"- {result_stats['attachments']} attachments")
lines.append(f"- {result_stats['threads']} threads")
audit_desc = "\n".join(lines) audit_desc = "\n".join(lines)
await log_audit_event(self.engine, "Message History Migrated", audit_desc) await log_audit_event(self.engine, "Message History Migrated", audit_desc)
@ -1314,7 +1314,10 @@ class MigrationCLI:
# ---- (1) Delete all Channels & Categories ---- # ---- (1) Delete all Channels & Categories ----
if choice == "1": if choice == "1":
console.print("") console.print("")
community_name = self.validation_results.get(f"{self.target_platform}_community_name", "Unknown") if self.target_platform == "fluxer":
community_name = self.validation_results.get("fluxer_community_name", "Unknown")
else:
community_name = self.validation_results.get("stoat_server_name", "Unknown")
console.print(f"[bold red]This will DELETE every channel and category in the {self.target_platform.capitalize()} community: \"{community_name}\"[/bold red]") console.print(f"[bold red]This will DELETE every channel and category in the {self.target_platform.capitalize()} community: \"{community_name}\"[/bold red]")
if not Confirm.ask("[bold red]Are you absolutely sure?[/bold red]"): if not Confirm.ask("[bold red]Are you absolutely sure?[/bold red]"):
return return
@ -1347,7 +1350,10 @@ class MigrationCLI:
# ---- (2) Reset Channel & Category Permissions ---- # ---- (2) Reset Channel & Category Permissions ----
elif choice == "2": elif choice == "2":
console.print("") console.print("")
community_name = self.validation_results.get(f"{self.target_platform}_community_name", "Unknown") if self.target_platform == "fluxer":
community_name = self.validation_results.get("fluxer_community_name", "Unknown")
else:
community_name = self.validation_results.get("stoat_server_name", "Unknown")
console.print(f"[bold red]This will RESET all permission overwrites on every channel and category in the {self.target_platform.capitalize()} community: \"{community_name}\"[/bold red]") console.print(f"[bold red]This will RESET all permission overwrites on every channel and category in the {self.target_platform.capitalize()} community: \"{community_name}\"[/bold red]")
if not Confirm.ask("[bold red]Are you absolutely sure?[/bold red]"): if not Confirm.ask("[bold red]Are you absolutely sure?[/bold red]"):
return return
@ -1380,7 +1386,10 @@ class MigrationCLI:
# ---- (3) Delete all Roles ---- # ---- (3) Delete all Roles ----
elif choice == "3": elif choice == "3":
console.print("") console.print("")
community_name = self.validation_results.get(f"{self.target_platform}_community_name", "Unknown") if self.target_platform == "fluxer":
community_name = self.validation_results.get("fluxer_community_name", "Unknown")
else:
community_name = self.validation_results.get("stoat_server_name", "Unknown")
console.print(f"[bold red]This will DELETE all roles in the {self.target_platform.capitalize()} community: \"{community_name}\"[/bold red]") console.print(f"[bold red]This will DELETE all roles in the {self.target_platform.capitalize()} community: \"{community_name}\"[/bold red]")
console.print("[dim]Managed roles (including the bot's own role) and @everyone are automatically protected.[/dim]") console.print("[dim]Managed roles (including the bot's own role) and @everyone are automatically protected.[/dim]")
if not Confirm.ask("[bold red]Are you absolutely sure?[/bold red]"): if not Confirm.ask("[bold red]Are you absolutely sure?[/bold red]"):
@ -1414,7 +1423,10 @@ class MigrationCLI:
# ---- (4) Delete all Emojis & Stickers ---- # ---- (4) Delete all Emojis & Stickers ----
elif choice == "4": elif choice == "4":
console.print("") console.print("")
community_name = self.validation_results.get(f"{self.target_platform}_community_name", "Unknown") if self.target_platform == "fluxer":
community_name = self.validation_results.get("fluxer_community_name", "Unknown")
else:
community_name = self.validation_results.get("stoat_server_name", "Unknown")
console.print(f"[bold red]This will DELETE all custom emojis and stickers in the {self.target_platform.capitalize()} community: \"{community_name}\"[/bold red]") console.print(f"[bold red]This will DELETE all custom emojis and stickers in the {self.target_platform.capitalize()} community: \"{community_name}\"[/bold red]")
if not Confirm.ask("[bold red]Are you absolutely sure?[/bold red]"): if not Confirm.ask("[bold red]Are you absolutely sure?[/bold red]"):
return return