Repository navigation
Add a FolderSync release workflow, and run all checks from one CI workflow - #9
Merged
Merged
Conversation
…kflow ci.yml runs actionlint, CodeQL, and FolderSync's workflow on pull requests, pushes to main, and weekly. FolderSync's jobs skip when nothing under foldersync/ or its workflows changed. "All checks passed" and "FolderSync result" write result tables to the run's summary. The FolderSync release workflow runs by hand on main and needs a box saying the local live e2e tests passed. It checks the version, reruns FolderSync's checks, builds the zip, and creates the GitHub release foldersync-v<version> with the zip and SHA256SUMS. A version with a hyphen is a pre-release.
joshyunho
marked this pull request as ready for review
October 30, 2026 17:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
One CI workflow
ci.ymlruns on pull requests, pushes tomain, and weekly. It callsworkflows.yml(actionlint),codeql.yml, andfoldersync.yml, which no longer run on their own. CI / All checks passed writes a results table to the run's summary and fails if any check failed. It's the one check to require onmain.FolderSync runs only for FolderSync changes
The first job checks whether anything under
foldersync/,foldersync*.yml, orci.ymlchanged, counting files moved out and non-ASCII names. If not, the other jobs skip, which counts as passing. FolderSync result writes its own table. The zip is built after a merge, not on pull requests or the weekly run.Releases
FolderSync release runs by hand on
mainand needs a box saying the local live e2e tests passed. It checks thatfoldersync/package.jsonhas a valid version with no tag yet, reruns FolderSync's checks, and creates the releasefoldersync-v<version>withFolderSync-mac-arm64.zipandSHA256SUMS. A version with a hyphen, like0.1.0-preview.1, is a pre-release. Only the publish job can write to the repo.CONTRIBUTING.md and AGENTS.md describe the layout and the release steps.
Test plan
actionlintpasses on all workflows.foldersync/change runs, a file moved out offoldersync/and a non-ASCII file name both run, and a run by hand runs everything.0.1.0,0.1.0-preview.1, and0.1.0-pre-1, and rejects1.2,v0.1.0, and0.1.0-preview..1.ci.ymland the change check. The release workflow can only run once it's onmain.