Skip to content

Add a FolderSync release workflow, and run all checks from one CI workflow - #9

Merged
joshyunho merged 1 commit into
mainfrom
foldersync/release
Oct 30, 2026
Merged

joshyunho merged 1 commit into
mainfrom
foldersync/release

Conversation

@joshyunho

Copy link
Copy Markdown
Collaborator

Summary

One CI workflow

ci.yml runs on pull requests, pushes to main, and weekly. It calls workflows.yml (actionlint), codeql.yml, and foldersync.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 on main.

FolderSync runs only for FolderSync changes

The first job checks whether anything under foldersync/, foldersync*.yml, or ci.yml changed, 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 main and needs a box saying the local live e2e tests passed. It checks that foldersync/package.json has a valid version with no tag yet, reruns FolderSync's checks, and creates the release foldersync-v<version> with FolderSync-mac-arm64.zip and SHA256SUMS. A version with a hyphen, like 0.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

  • actionlint passes on all workflows.
  • I ran the change check's logic on this repo's commits and on test repos: a docs-only change skips, a foldersync/ change runs, a file moved out of foldersync/ and a non-ASCII file name both run, and a run by hand runs everything.
  • The version check accepts 0.1.0, 0.1.0-preview.1, and 0.1.0-pre-1, and rejects 1.2, v0.1.0, and 0.1.0-preview..1.
  • This PR's own CI run covers ci.yml and the change check. The release workflow can only run once it's on main.

…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
joshyunho marked this pull request as ready for review October 30, 2026 17:50
@joshyunho
joshyunho merged commit b9f2e51 into main Oct 30, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant