Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(electron): fix dmg maker #5922

Merged
merged 1 commit into from
Feb 27, 2024
Merged

build(electron): fix dmg maker #5922

merged 1 commit into from
Feb 27, 2024

Conversation

Brooooooklyn
Copy link
Member

@Brooooooklyn Brooooooklyn commented Feb 27, 2024

Type

enhancement


Description

  • Introduced a custom DMG packaging solution @affine/appdmg-patch for Electron applications.
  • Implemented a new TypeScript class MakerDmg to handle the custom packaging logic, including support for custom backgrounds, icons, and app positioning within the DMG.
  • Updated Electron Forge configuration to use the new @affine/appdmg-patch package instead of @electron-forge/maker-dmg.
  • Adjusted package dependencies in packages/frontend/electron/package.json, adding @affine/appdmg-patch and removing @electron-forge/maker-dmg.

Changes walkthrough

Relevant files
Enhancement
index.ts
Implement Custom DMG Packaging Logic                                         

tools/appdmg-patch/index.ts

  • Introduced a new class MakerDmg extending MakerBase with support for
    custom DMG packaging.
  • Implemented custom DMG packaging logic including background, icon, and
    app positioning.
  • Added support for custom contents configuration to define the DMG
    layout.
  • +80/-0   
    Configuration changes
    forge.config.mjs
    Update Electron Forge Configuration for Custom DMG Packaging

    packages/frontend/electron/forge.config.mjs

  • Replaced @electron-forge/maker-dmg with @affine/appdmg-patch in the
    makers configuration.
  • Adjusted DMG icon size and background configuration.
  • +2/-3     
    package.json
    Introduce Package Configuration for Custom DMG Packaging 

    tools/appdmg-patch/package.json

  • Created a new package @affine/appdmg-patch with necessary dependencies
    for custom DMG packaging.
  • +16/-0   
    Dependencies
    package.json
    Update Package Dependencies for Electron Frontend               

    packages/frontend/electron/package.json

  • Added @affine/appdmg-patch to devDependencies.
  • Removed @electron-forge/maker-dmg from devDependencies.
  • +1/-1     

    PR-Agent usage:
    Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

    Copy link

    graphite-app bot commented Feb 27, 2024

    Your org has enabled the Graphite merge queue for merging into canary

    You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link.

    You can enable merging using labels in your Graphite merge queue settings.

    Copy link
    Member Author

    Current dependencies on/for this PR:

    This stack of pull requests is managed by Graphite.

    @github-actions github-actions bot added the app:electron Related to electron app label Feb 27, 2024
    @codiumai-pr-agent-pro codiumai-pr-agent-pro bot added enhancement and removed app:electron Related to electron app labels Feb 27, 2024
    Copy link

    PR Description updated to latest commit (f2d6f67)

    Copy link

    PR Review

    ⏱️ Estimated effort to review [1-5]

    3, because the PR involves a significant change in the packaging process for an Electron application, including the introduction of a custom DMG packaging solution and adjustments to the Electron Forge configuration. The complexity of the new MakerDmg class and its integration with existing systems requires a thorough review to ensure compatibility and functionality.

    🧪 Relevant tests

    No

    🔍 Possible issues

    The custom DMG packaging logic might not handle edge cases or specific configurations that were previously managed by @electron-forge/maker-dmg. It's important to ensure comprehensive testing, especially for the custom contents configuration and the handling of default paths and icons.

    Dependency on @crabnebula/packager and lodash-es introduces external libraries which might have their own set of issues or incompatibilities. It's crucial to verify their stability and compatibility with the project's requirements.

    The renaming logic for the output path (forgeDefaultOutPath) might lead to unexpected behavior if the name configuration is not provided. This could potentially overwrite existing files without warning.

    🔒 Security concerns

    No


    ✨ Review tool usage guide:

    Overview:
    The review tool scans the PR code changes, and generates a PR review. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on any PR.
    When commenting, to edit configurations related to the review tool (pr_reviewer section), use the following template:

    /review --pr_reviewer.some_config1=... --pr_reviewer.some_config2=...
    

    With a configuration file, use the following template:

    [pr_reviewer]
    some_config1=...
    some_config2=...
    
    Utilizing extra instructions

    The review tool can be configured with extra instructions, which can be used to guide the model to a feedback tailored to the needs of your project.

    Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify the relevant sub-tool, and the relevant aspects of the PR that you want to emphasize.

    Examples for extra instructions:

    [pr_reviewer] # /review #
    extra_instructions="""
    In the 'possible issues' section, emphasize the following:
    - Does the code logic cover relevant edge cases?
    - Is the code logic clear and easy to understand?
    - Is the code logic efficient?
    ...
    """
    

    Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.

    How to enable\disable automation
    • When you first install PR-Agent app, the default mode for the review tool is:
    pr_commands = ["/review", ...]
    

    meaning the review tool will run automatically on every PR, with the default configuration.
    Edit this field to enable/disable the tool, or to change the used configurations

    Auto-labels

    The review tool can auto-generate two specific types of labels for a PR:

    • a possible security issue label, that detects possible security issues (enable_review_labels_security flag)
    • a Review effort [1-5]: x label, where x is the estimated effort to review the PR (enable_review_labels_effort flag)
    Extra sub-tools

    The review tool provides a collection of possible feedbacks about a PR.
    It is recommended to review the possible options, and choose the ones relevant for your use case.
    Some of the feature that are disabled by default are quite useful, and should be considered for enabling. For example:
    require_score_review, require_soc2_ticket, and more.

    Auto-approve PRs

    By invoking:

    /review auto_approve
    

    The tool will automatically approve the PR, and add a comment with the approval.

    To ensure safety, the auto-approval feature is disabled by default. To enable auto-approval, you need to actively set in a pre-defined configuration file the following:

    [pr_reviewer]
    enable_auto_approval = true
    

    (this specific flag cannot be set with a command line argument, only in the configuration file, committed to the repository)

    You can also enable auto-approval only if the PR meets certain requirements, such as that the estimated_review_effort is equal or below a certain threshold, by adjusting the flag:

    [pr_reviewer]
    maximal_review_effort = 5
    
    More PR-Agent commands

    To invoke the PR-Agent, add a comment using one of the following commands:

    • /review: Request a review of your Pull Request.
    • /describe: Update the PR title and description based on the contents of the PR.
    • /improve [--extended]: Suggest code improvements. Extended mode provides a higher quality feedback.
    • /ask <QUESTION>: Ask a question about the PR.
    • /update_changelog: Update the changelog based on the PR's contents.
    • /add_docs 💎: Generate docstring for new components introduced in the PR.
    • /generate_labels 💎: Generate labels for the PR based on the PR's contents.
    • /analyze 💎: Automatically analyzes the PR, and presents changes walkthrough for each component.

    See the tools guide for more details.
    To list the possible configuration parameters, add a /config comment.

    See the review usage page for a comprehensive guide on using this tool.

    Copy link

    codiumai-pr-agent-pro bot commented Feb 27, 2024

    PR Code Suggestions

    Suggestions                                                                                                                                                     
    best practice
    Add error handling for file rename operation.                                

    Consider checking the return value of rename for errors to handle possible file operation
    failures gracefully.

    tools/appdmg-patch/index.ts [62]

    -await rename(outPath, forgeDefaultOutPath);
    +try {
    +  await rename(outPath, forgeDefaultOutPath);
    +} catch (error) {
    +  console.error(`Failed to rename output path: ${error}`);
    +  // Handle error appropriately
    +}
     
    Ensure cross-platform path compatibility.                                    

    Use path.join instead of template literals for constructing paths to ensure cross-platform
    compatibility.

    tools/appdmg-patch/index.ts [73]

    -path: join(process.cwd(), `${appName}.app`),
    +path: join(process.cwd(), appName + '.app'),
     
    enhancement
    Maintain consistency in icon size configuration.                             

    Ensure consistency in icon size configuration by reverting to the previous size or
    updating all references to the new size.

    packages/frontend/electron/forge.config.mjs [28]

    -iconSize: 118,
    +iconSize: 128, # or update all references to use 118 if that's the new desired size
     
    maintainability
    Use descriptive variable names.                                              

    Consider using a more descriptive variable name than dmg for the configuration object to
    improve code readability.

    tools/appdmg-patch/index.ts [41]

    -const dmg: NonNullable<
    +const dmgConfig: NonNullable<
     
    Refactor duplicate conditional logic for setting positions.                  

    Refactor the conditional logic for setting appPosition and appFolderPosition to reduce
    duplication and improve code clarity.

    tools/appdmg-patch/index.ts [48-58]

    -if (appContent) {
    -  dmg.appPosition = {
    -    x: appContent.x,
    -    y: appContent.y,
    -  };
    -}
    -if (linkContent) {
    -  dmg.appFolderPosition = {
    -    x: linkContent.x,
    -    y: linkContent.y,
    -  };
    -}
    +const setPosition = (content, propName) => {
    +  if (content) {
    +    dmg[propName] = {
    +      x: content.x,
    +      y: content.y,
    +    };
    +  }
    +};
    +setPosition(appContent, 'appPosition');
    +setPosition(linkContent, 'appFolderPosition');
     

    ✨ Improve tool usage guide:

    Overview:
    The improve tool scans the PR code changes, and automatically generates suggestions for improving the PR code. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on a PR.
    When commenting, to edit configurations related to the improve tool (pr_code_suggestions section), use the following template:

    /improve --pr_code_suggestions.some_config1=... --pr_code_suggestions.some_config2=...
    

    With a configuration file, use the following template:

    [pr_code_suggestions]
    some_config1=...
    some_config2=...
    
    Enabling\disabling automation

    When you first install the app, the default mode for the improve tool is:

    pr_commands = ["/improve --pr_code_suggestions.summarize=true", ...]
    

    meaning the improve tool will run automatically on every PR, with summarization enabled. Delete this line to disable the tool from running automatically.

    Utilizing extra instructions

    Extra instructions are very important for the improve tool, since they enable to guide the model to suggestions that are more relevant to the specific needs of the project.

    Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify relevant aspects that you want the model to focus on.

    Examples for extra instructions:

    [pr_code_suggestions] # /improve #
    extra_instructions="""
    Emphasize the following aspects:
    - Does the code logic cover relevant edge cases?
    - Is the code logic clear and easy to understand?
    - Is the code logic efficient?
    ...
    """
    

    Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.

    A note on code suggestions quality
    • While the current AI for code is getting better and better (GPT-4), it's not flawless. Not all the suggestions will be perfect, and a user should not accept all of them automatically.
    • Suggestions are not meant to be simplistic. Instead, they aim to give deep feedback and raise questions, ideas and thoughts to the user, who can then use his judgment, experience, and understanding of the code base.
    • Recommended to use the 'extra_instructions' field to guide the model to suggestions that are more relevant to the specific needs of the project, or use the custom suggestions 💎 tool
    • With large PRs, best quality will be obtained by using 'improve --extended' mode.
    More PR-Agent commands

    To invoke the PR-Agent, add a comment using one of the following commands:

    • /review: Request a review of your Pull Request.
    • /describe: Update the PR title and description based on the contents of the PR.
    • /improve [--extended]: Suggest code improvements. Extended mode provides a higher quality feedback.
    • /ask <QUESTION>: Ask a question about the PR.
    • /update_changelog: Update the changelog based on the PR's contents.
    • /add_docs 💎: Generate docstring for new components introduced in the PR.
    • /generate_labels 💎: Generate labels for the PR based on the PR's contents.
    • /analyze 💎: Automatically analyzes the PR, and presents changes walkthrough for each component.

    See the tools guide for more details.
    To list the possible configuration parameters, add a /config comment.

    See the improve usage page for a more comprehensive guide on using this tool.

    Copy link

    nx-cloud bot commented Feb 27, 2024

    Copy link

    codiumai-pr-agent-pro bot commented Feb 27, 2024

    CI Failure Feedback

    (Checks updated until commit d00f575)

    Action: Publish UI Storybook

    Failed stage: Run chromaui/action-next@v1 [❌]

    Failure summary:

    The action failed during the execution of the build:storybook script, indicating a problem with the
    Storybook setup. The failure is likely due to issues that need to be addressed within the Storybook
    configuration or related files. The log suggests checking the Storybook build log for more details
    and mentions a warning about the lack of GitHub Flavored Markdown (GFM) support in MDX, which might
    require adjustments or the removal of certain addons from the package.json and Storybook
    configuration. Additionally, the process ended with a non-zero exit code, which typically signifies
    an error or a failed command execution.

    Relevant error logs:
    1:  Job defined at: toeverything/AFFiNE/.github/workflows/publish-ui-storybook.yml@refs/pull/5922/merge
    2:  Waiting for a runner to pick up this job...
    ...
    
    631:  �[94m➤�[39m �[90mYN0000�[39m: └ Completed
    632:  �[94m➤�[39m �[90mYN0000�[39m: ┌ Fetch step
    633:  ##[group]Fetch step
    634:  �[94m➤�[39m YN0013: │ �[38;5;220m3033�[39m packages were added to the project (�[38;5;160m+ 368.83 MiB�[39m).
    635:  ##[endgroup]
    636:  �[94m➤�[39m �[90mYN0000�[39m: └ Completed in 35s 811ms
    637:  �[94m➤�[39m �[90mYN0000�[39m: ┌ Link step
    638:  ##[group]Link step
    639:  �[94m➤�[39m YN0007: │ �[38;5;166m@affine/�[39m�[38;5;173mtemplates�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/frontend/templates�[39m must be built because it never has been before or the last one failed
    640:  �[94m➤�[39m YN0007: │ �[38;5;173melectron�[39m�[38;5;111m@�[39m�[38;5;111mnpm:29.0.1�[39m must be built because it never has been before or the last one failed
    641:  �[94m➤�[39m YN0007: │ �[38;5;173mmsw�[39m�[38;5;111m@�[39m�[38;5;111mnpm:2.2.1 [a367a]�[39m must be built because it never has been before or the last one failed
    642:  �[94m➤�[39m YN0007: │ �[38;5;173mnx�[39m�[38;5;111m@�[39m�[38;5;111mnpm:18.0.4 [a367a]�[39m must be built because it never has been before or the last one failed
    643:  �[94m➤�[39m YN0007: │ �[38;5;173mesbuild�[39m�[38;5;111m@�[39m�[38;5;111mnpm:0.19.12�[39m must be built because it never has been before or the last one failed
    644:  �[94m➤�[39m YN0007: │ �[38;5;166m@nestjs/�[39m�[38;5;173mcore�[39m�[38;5;111m@�[39m�[38;5;111mnpm:10.3.3 [c1224]�[39m must be built because it never has been before or the last one failed
    645:  �[94m➤�[39m YN0007: │ �[38;5;166m@prisma/�[39m�[38;5;173mengines�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2�[39m must be built because it never has been before or the last one failed
    646:  �[94m➤�[39m YN0007: │ �[38;5;166m@apollo/�[39m�[38;5;173mprotobufjs�[39m�[38;5;111m@�[39m�[38;5;111mnpm:1.2.7�[39m must be built because it never has been before or the last one failed
    647:  �[94m➤�[39m YN0007: │ �[38;5;173mprotobufjs�[39m�[38;5;111m@�[39m�[38;5;111mnpm:7.2.5�[39m must be built because it never has been before or the last one failed
    648:  �[94m➤�[39m YN0007: │ �[38;5;166m@swc/�[39m�[38;5;173mcore�[39m�[38;5;111m@�[39m�[38;5;111mnpm:1.4.2 [9a545]�[39m must be built because it never has been before or the last one failed
    649:  �[94m➤�[39m YN0007: │ �[38;5;173mesbuild�[39m�[38;5;111m@�[39m�[38;5;111mnpm:0.17.19�[39m must be built because it never has been before or the last one failed
    650:  �[94m➤�[39m YN0007: │ �[38;5;173mesbuild�[39m�[38;5;111m@�[39m�[38;5;111mnpm:0.20.1�[39m must be built because it never has been before or the last one failed
    651:  �[94m➤�[39m YN0007: │ �[38;5;173mesbuild�[39m�[38;5;111m@�[39m�[38;5;111mnpm:0.18.20�[39m must be built because it never has been before or the last one failed
    652:  �[94m➤�[39m YN0007: │ �[38;5;173mcore-js-pure�[39m�[38;5;111m@�[39m�[38;5;111mnpm:3.33.3�[39m must be built because it never has been before or the last one failed
    653:  �[94m➤�[39m YN0007: │ �[38;5;173melectron-winstaller�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.2.1�[39m must be built because it never has been before or the last one failed
    654:  �[94m➤�[39m YN0007: │ �[38;5;173mejs�[39m�[38;5;111m@�[39m�[38;5;111mnpm:2.7.4�[39m must be built because it never has been before or the last one failed
    655:  �[94m➤�[39m YN0007: │ �[38;5;173mworkerd�[39m�[38;5;111m@�[39m�[38;5;111mnpm:1.20240208.0�[39m must be built because it never has been before or the last one failed
    656:  �[94m➤�[39m YN0007: │ �[38;5;166m@sentry/�[39m�[38;5;173mcli�[39m�[38;5;111m@�[39m�[38;5;111mnpm:2.28.6�[39m must be built because it never has been before or the last one failed
    ...
    
    766:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;173mnx�[39m�[38;5;111m@�[39m�[38;5;111mnpm:18.0.4 [a367a]�[39m �[31mSTDERR�[39m       globalAgent: [Agent],
    767:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;173mnx�[39m�[38;5;111m@�[39m�[38;5;111mnpm:18.0.4 [a367a]�[39m �[31mSTDERR�[39m       Server: [Function: Server],
    768:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;173mnx�[39m�[38;5;111m@�[39m�[38;5;111mnpm:18.0.4 [a367a]�[39m �[31mSTDERR�[39m       createServer: [Function: createServer],
    769:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;173mnx�[39m�[38;5;111m@�[39m�[38;5;111mnpm:18.0.4 [a367a]�[39m �[31mSTDERR�[39m       get: [Function: get],
    770:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;173mnx�[39m�[38;5;111m@�[39m�[38;5;111mnpm:18.0.4 [a367a]�[39m �[31mSTDERR�[39m       request: [Function: request]
    771:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;173mnx�[39m�[38;5;111m@�[39m�[38;5;111mnpm:18.0.4 [a367a]�[39m �[31mSTDERR�[39m     }
    772:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;173mnx�[39m�[38;5;111m@�[39m�[38;5;111mnpm:18.0.4 [a367a]�[39m �[31mSTDERR�[39m   }
    773:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;173mnx�[39m�[38;5;111m@�[39m�[38;5;111mnpm:18.0.4 [a367a]�[39m �[31mSTDERR�[39m }
    774:  �[94m➤�[39m YN0007: │ �[38;5;166m@affine/�[39m�[38;5;173mmonorepo�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:.�[39m must be built because it never has been before or the last one failed
    775:  �[94m➤�[39m YN0007: │ �[38;5;166m@affine/�[39m�[38;5;173mgraphql�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/frontend/graphql�[39m must be built because it never has been before or the last one failed
    776:  �[94m➤�[39m YN0007: │ �[38;5;173mprisma�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2�[39m must be built because it never has been before or the last one failed
    ...
    
    788:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mgraphql�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/frontend/graphql�[39m �[32mSTDOUT�[39m [SUCCESS] Generate
    789:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mgraphql�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/frontend/graphql�[39m �[32mSTDOUT�[39m [SUCCESS] Generate to ./src/schema.ts
    790:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mgraphql�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/frontend/graphql�[39m �[32mSTDOUT�[39m [SUCCESS] Generate outputs
    791:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mgraphql�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/frontend/graphql�[39m �[32mSTDOUT�[39m Running lifecycle hook "afterStart" scripts...
    792:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mgraphql�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/frontend/graphql�[39m �[32mSTDOUT�[39m [CLI] Loading Schemas
    793:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mgraphql�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/frontend/graphql�[39m �[32mSTDOUT�[39m [CLI] Loading Documents
    794:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mgraphql�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/frontend/graphql�[39m �[32mSTDOUT�[39m [CLI] Generating output
    795:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mmonorepo�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:.�[39m �[31mSTDERR�[39m install command is deprecated
    796:  �[94m➤�[39m YN0007: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m must be built because it never has been before or the last one failed
    ...
    
    805:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:get-platform Found libssl.so file using platform-specific paths: libssl.so.1.1 +2ms
    806:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:get-platform The parsed libssl version is: 1.1.x +1ms
    807:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:loadEnv project root found at /home/runner/work/AFFiNE/AFFiNE/package.json +335ms
    808:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:tryLoadEnv Environment variables not found at null +8ms
    809:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:tryLoadEnv Environment variables not found at undefined +0ms
    810:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:tryLoadEnv No Environment variables loaded +0ms
    811:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[32mSTDOUT�[39m Prisma schema loaded from packages/backend/server/schema.prisma
    812:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:getConfig Using getConfig Wasm +4ms
    813:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:getConfig config data retrieved without errors in getConfig Wasm +17ms
    ...
    
    817:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m   "familyDistro": "debian",
    818:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m   "originalDistro": "ubuntu"
    819:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m } +1ms
    820:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:get-platform Trying platform-specific paths for "debian" (and "ubuntu") +0ms
    821:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:get-platform Found libssl.so file using platform-specific paths: libssl.so.1.1 +2ms
    822:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:get-platform The parsed libssl version is: 1.1.x +0ms
    823:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:fetch-engine:download copying /home/runner/.cache/prisma/master/5a9203d0590c951969e85a7d07215503f4672eb9/debian-openssl-1.1.x/libquery-engine to /home/runner/work/AFFiNE/AFFiNE/packages/backend/server/node_modules/prisma/libquery_engine-debian-openssl-1.1.x.so.node +22ms
    824:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:getConfig Using getConfig Wasm +39ms
    825:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:getConfig config data retrieved without errors in getConfig Wasm +4ms
    826:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:getDMMF Using getDmmf Wasm +3ms
    827:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:getDMMF Using given datamodel +0ms
    828:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:getDMMF dmmf data retrieved without errors in getDmmf Wasm +106ms
    ...
    
    888:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[32mSTDOUT�[39m 
    889:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[32mSTDOUT�[39m ┌─────────────────────────────────────────────────────────────┐
    890:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[32mSTDOUT�[39m │  Deploying your app to serverless or edge functions?        │
    891:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[32mSTDOUT�[39m │  Try Prisma Accelerate for connection pooling and caching.  │
    892:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[32mSTDOUT�[39m │  https://pris.ly/cli/accelerate                             │
    893:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[32mSTDOUT�[39m └─────────────────────────────────────────────────────────────┘
    894:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[32mSTDOUT�[39m 
    895:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@prisma/�[39m�[38;5;173mclient�[39m�[38;5;111m@�[39m�[38;5;111mnpm:5.10.2 [c1224]�[39m �[31mSTDERR�[39m prisma:GeneratorProcess child exited with code null on signal SIGTERM +87ms
    896:  �[94m➤�[39m YN0007: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m must be built because it never has been before or the last one failed
    ...
    
    905:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:get-platform Found libssl.so file using platform-specific paths: libssl.so.1.1 +2ms
    906:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:get-platform The parsed libssl version is: 1.1.x +0ms
    907:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:loadEnv project root found at /home/runner/work/AFFiNE/AFFiNE/packages/backend/server/package.json +331ms
    908:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:tryLoadEnv Environment variables not found at null +7ms
    909:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:tryLoadEnv Environment variables not found at undefined +1ms
    910:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:tryLoadEnv No Environment variables loaded +0ms
    911:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[32mSTDOUT�[39m Prisma schema loaded from schema.prisma
    912:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:getConfig Using getConfig Wasm +3ms
    913:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:getConfig config data retrieved without errors in getConfig Wasm +17ms
    ...
    
    916:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m   "targetDistro": "debian",
    917:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m   "familyDistro": "debian",
    918:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m   "originalDistro": "ubuntu"
    919:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m } +1ms
    920:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:get-platform Trying platform-specific paths for "debian" (and "ubuntu") +0ms
    921:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:get-platform Found libssl.so file using platform-specific paths: libssl.so.1.1 +2ms
    922:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:get-platform The parsed libssl version is: 1.1.x +0ms
    923:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:getConfig Using getConfig Wasm +39ms
    924:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:getConfig config data retrieved without errors in getConfig Wasm +4ms
    925:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:getDMMF Using getDmmf Wasm +0ms
    926:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:getDMMF Using given datamodel +1ms
    927:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:getDMMF dmmf data retrieved without errors in getDmmf Wasm +115ms
    ...
    
    985:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[32mSTDOUT�[39m 
    986:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[32mSTDOUT�[39m ┌─────────────────────────────────────────────────────────────┐
    987:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[32mSTDOUT�[39m │  Deploying your app to serverless or edge functions?        │
    988:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[32mSTDOUT�[39m │  Try Prisma Accelerate for connection pooling and caching.  │
    989:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[32mSTDOUT�[39m │  https://pris.ly/cli/accelerate                             │
    990:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[32mSTDOUT�[39m └─────────────────────────────────────────────────────────────┘
    991:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[32mSTDOUT�[39m 
    992:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:getConfig Using getConfig Wasm +8ms
    993:  �[94m➤�[39m �[90mYN0000�[39m: │ �[38;5;166m@affine/�[39m�[38;5;173mserver�[39m�[38;5;111m@�[39m�[38;5;111mworkspace:packages/backend/server�[39m �[31mSTDERR�[39m prisma:getConfig config data retrieved without errors in getConfig Wasm +3ms
    ...
    
    1054:  → [               *    ]
    1055:  → [              *     ]
    1056:  → [             *      ]
    1057:  → [            *       ]
    1058:  → [           *        ]
    1059:  → [          *         ]
    1060:  → [         *          ]
    1061:  → [        *           ]
    1062:  The CLI tried to run your build:storybook script, but the command failed. This indicates a problem with your Storybook. Here's what to do:
    1063:  - Check the Storybook build log printed below.
    1064:  → Command failed: yarn run build:storybook --output-dir /tmp/chromatic--2462-A343C6SiZ8Cv
    ...
    
    1084:  WARN https://storybook.js.org/docs/react/writing-docs/mdx#lack-of-github-flavored-markdown-gfm
    1085:  WARN 
    1086:  WARN Once you've made the necessary changes, you can remove the addon from your package.json and storybook config.
    1087:  info => Building manager..
    1088:  info => Manager built (169 ms)
    1089:  info => Building preview..
    1090:  info => Copying static files: /home/runner/work/AFFiNE/AFFiNE/node_modules/@storybook/manager/static at /tmp/chromatic--2462-A343C6SiZ8Cv/sb-common-assets
    1091:  ℹ Wrote Chromatic diagnostics report to chromatic-diagnostics.json
    1092:  ##[error]non-zero exit code
    

    ✨ CI feedback usage guide:

    The CI feedback tool (/checks) automatically triggers when a PR has a failed check.
    The tool analyzes the failed checks and provides several feedbacks:

    • Failed stage
    • Failed test name
    • Failure summary
    • Relevant error logs

    In addition to being automatically triggered, the tool can also be invoked manually by commenting on a PR:

    /checks "https://github.com/{repo_name}/actions/runs/{run_number}/job/{job_number}"
    

    where {repo_name} is the name of the repository, {run_number} is the run number of the failed check, and {job_number} is the job number of the failed check.

    Configuration options

    • enable_auto_checks_feedback - if set to true, the tool will automatically provide feedback when a check is failed. Default is true.
    • excluded_checks_list - a list of checks to exclude from the feedback, for example: ["check1", "check2"]. Default is an empty list.
    • persistent_comment - if set to true, the tool will overwrite a previous checks comment with the new feedback. Default is true.
    • enable_help_text - if set to true, the tool will provide a help message with the feedback. Default is true.

    See more information about the checks tool in the docs.

    Copy link

    codecov bot commented Feb 27, 2024

    Codecov Report

    All modified and coverable lines are covered by tests ✅

    Project coverage is 63.96%. Comparing base (571b20d) to head (c724b3f).

    Additional details and impacted files
    @@           Coverage Diff           @@
    ##           canary    #5922   +/-   ##
    =======================================
      Coverage   63.96%   63.96%           
    =======================================
      Files         364      364           
      Lines       20035    20035           
      Branches     1713     1713           
    =======================================
      Hits        12815    12815           
      Misses       7001     7001           
      Partials      219      219           
    Flag Coverage Δ
    server-test 71.20% <ø> (ø)
    unittest 43.97% <ø> (ø)

    Flags with carried forward coverage won't be shown. Click here to find out more.

    ☔ View full report in Codecov by Sentry.
    📢 Have feedback on the report? Share it here.

    Copy link

    Persistent checks updated to latest commit f2d6f67

    1 similar comment
    Copy link

    Persistent checks updated to latest commit f2d6f67

    Copy link

    Persistent checks updated to latest commit 03d26a0

    Copy link

    Persistent checks updated to latest commit a973751

    7 similar comments
    Copy link

    Persistent checks updated to latest commit a973751

    Copy link

    Persistent checks updated to latest commit a973751

    Copy link

    Persistent checks updated to latest commit a973751

    Copy link

    Persistent checks updated to latest commit a973751

    Copy link

    Persistent checks updated to latest commit a973751

    Copy link

    Persistent checks updated to latest commit a973751

    Copy link

    Persistent checks updated to latest commit a973751

    Copy link

    Persistent checks updated to latest commit d00f575

    1 similar comment
    Copy link

    Persistent checks updated to latest commit d00f575

    Copy link

    graphite-app bot commented Feb 27, 2024

    Merge activity

    ## **Type**
    enhancement
    
    ___
    
    ## **Description**
    - Introduced a custom DMG packaging solution `@affine/appdmg-patch` for Electron applications.
    - Implemented a new TypeScript class `MakerDmg` to handle the custom packaging logic, including support for custom backgrounds, icons, and app positioning within the DMG.
    - Updated Electron Forge configuration to use the new `@affine/appdmg-patch` package instead of `@electron-forge/maker-dmg`.
    - Adjusted package dependencies in `packages/frontend/electron/package.json`, adding `@affine/appdmg-patch` and removing `@electron-forge/maker-dmg`.
    
    ___
    
    ## **Changes walkthrough**
    <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement
    </strong></td><td><table>
    <tr>
      <td>
        <details>
          <summary><strong>index.ts</strong><dd><code>Implement Custom DMG Packaging Logic</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
    <hr>
    
    tools/appdmg-patch/index.ts
    
    <li>Introduced a new class <code>MakerDmg</code> extending <code>MakerBase</code> with support for <br>custom DMG packaging.<br> <li> Implemented custom DMG packaging logic including background, icon, and <br>app positioning.<br> <li> Added support for custom <code>contents</code> configuration to define the DMG <br>layout.<br>
    
    </details>
    
      </td>
      <td><a href="https://pull/5922/files#diff-96a537c04a2a740dca542688b3e6a65c67e6cf339b146bf0a9c49008ad58ea77">+80/-0</a>&nbsp; &nbsp; </td>
    
    </tr>
    </table></td></tr><tr><td><strong>Configuration changes
    </strong></td><td><table>
    <tr>
      <td>
        <details>
          <summary><strong>forge.config.mjs</strong><dd><code>Update Electron Forge Configuration for Custom DMG Packaging</code></dd></summary>
    <hr>
    
    packages/frontend/electron/forge.config.mjs
    
    <li>Replaced <code>@electron-forge/maker-dmg</code> with <code>@affine/appdmg-patch</code> in the <br>makers configuration.<br> <li> Adjusted DMG icon size and background configuration.<br>
    
    </details>
    
      </td>
      <td><a href="https://pull/5922/files#diff-bd3343a702deabb8f5f6f77e34fbc215615538875f59b68d82612c0f5ed532a3">+2/-3</a>&nbsp; &nbsp; &nbsp; </td>
    
    </tr>
    
    <tr>
      <td>
        <details>
          <summary><strong>package.json</strong><dd><code>Introduce Package Configuration for Custom DMG Packaging</code>&nbsp; </dd></summary>
    <hr>
    
    tools/appdmg-patch/package.json
    
    <li>Created a new package <code>@affine/appdmg-patch</code> with necessary dependencies <br>for custom DMG packaging.<br>
    
    </details>
    
      </td>
      <td><a href="https://pull/5922/files#diff-395b189951512e67d55b0abc55a167f014f239f608ec5b180f9c7d48e1ea9e8b">+16/-0</a>&nbsp; &nbsp; </td>
    
    </tr>
    </table></td></tr><tr><td><strong>Dependencies
    </strong></td><td><table>
    <tr>
      <td>
        <details>
          <summary><strong>package.json</strong><dd><code>Update Package Dependencies for Electron Frontend</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
    <hr>
    
    packages/frontend/electron/package.json
    
    <li>Added <code>@affine/appdmg-patch</code> to <code>devDependencies</code>.<br> <li> Removed <code>@electron-forge/maker-dmg</code> from <code>devDependencies</code>.<br>
    
    </details>
    
      </td>
      <td><a href="https://pull/5922/files#diff-37323e9da5e4b1606abb6eb8e5ff1516ae5fce925bceaafeeade61bd80c0b62d">+1/-1</a>&nbsp; &nbsp; &nbsp; </td>
    
    </tr>
    </table></td></tr></tr></tbody></table>
    
    ___
    
    > ✨ **PR-Agent usage**:
    >Comment `/help` on the PR to get a list of all available PR-Agent tools and their descriptions
    @graphite-app graphite-app bot merged commit c724b3f into canary Feb 27, 2024
    33 of 36 checks passed
    @graphite-app graphite-app bot deleted the fix/dmg-build branch February 27, 2024 14:54
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    None yet

    3 participants