GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — ci: verify packaging produced every configured artifact by setchy · Pull Request #3663 · gitify-app/gitify

Conversation

@setchy

@setchy setchy commented Nov 9, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Summary

Closes the remaining gap in the release pipeline, without maintaining a second copy of the target configuration.

  • electron-builder.js now registers artifactBuildCompleted and afterAllArtifactBuild:

    • artifactBuildCompleted records every platform:target that emitted an artifact.
    • afterAllArtifactBuild walks buildResult.platformToTargets — the targets electron-builder actually planned — and throws for any target that never emitted one.

    The check reads the same file the packager reads, so adding or removing a target needs no matching change here. Only dir is skipped, because it produces the unpacked app rather than something to upload.

  • upload-artifact uses if-no-files-found: error instead of the default warning, with !dist/*/ excluding directories — so a job that only produced an unpacked app fails instead of uploading nothing.

  • publish-release refuses to publish a draft with no assets, so an empty release can never go out.

Why

verifyPackagedDependencies and verifyFuses both stop at the unpacked app. Electron can pack successfully and still fail to build a distributable, and upload-artifact treats an empty match as a warning — so a platform job could go green with nothing to download, and the release would still publish. That is precisely the failure mode that left a sibling project without Windows installers for seven releases.

Notes

  • No target→extension table: the hook compares produced artifacts against the planned targets, so dmg/zip/exe/AppImage/deb/rpm are covered implicitly and a new target is covered automatically.
  • Verified the hooks with simulated electron-builder payloads: all targets emitting passes; a missing RPM fails with electron-builder produced no artifact for: linux/rpm; nothing emitting names every planned target; a dir-only build passes the hook and is then stopped by the upload guard.
  • actionlint passes on both workflows; no packaged-app or runtime changes.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@setchy
setchy requested a review from afonsojramos as a code owner November 9, 2026 17:13
@setchy
setchy force-pushed the ci/verify-release-artifacts branch 3 times, most recently from dc101c5 to f780fa5 Compare November 9, 2026 17:37
@setchy setchy changed the title ci: fail when a release artifact is missing ci: verify packaging produced every configured artifact Nov 9, 2026
@setchy
ci: verify packaging produced every configured artifact
01fa1e6
The packaged-app checks cover the unpacked app only. Electron can pack
successfully and still fail to build a distributable, and `upload-artifact`
only warns when nothing matches, so a release could publish with a platform
missing its download.

* add `artifactBuildCompleted` and `afterAllArtifactBuild` hooks to
  `electron-builder.js`. They record which targets emitted an artifact and
  compare that with the targets planned for the build, throwing when a target
  produced nothing. The check reads the same config it polices, so there is no
  second target list to maintain; the `dir` target is excluded because it
  produces the unpacked app rather than something to upload
* make an empty artifact set an error instead of a warning, so a job cannot
  pass by uploading directories only
* refuse to publish a draft that has no assets
@setchy
setchy force-pushed the ci/verify-release-artifacts branch from f780fa5 to 01fa1e6 Compare November 9, 2026 17:41
@sonarqubecloud

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarQube Cloud

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@setchy
setchy merged commit cbfb94f into main Nov 9, 2026
16 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@setchy
setchy deleted the ci/verify-release-artifacts branch November 9, 2026 20:42
@github-actions github-actions Bot added this to the Release 8.1.0 milestone Nov 9, 2026
@github-actions github-actions Bot mentioned this pull request Nov 9, 2026
chore(main): release 8.1.0 #3634
Merged
@github-actions

github-actions Bot commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in Gitify v8.1.0! 🎉

Downloads for macOS, Windows, and Linux are available on the release page.

Thanks for helping make Gitify better!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@afonsojramos afonsojramos Awaiting requested review from afonsojramos afonsojramos is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Milestone

Release 8.1.0

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@setchy
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.