Skip to content

refactor(ci): flatten workflow directory structure to top-level naming#31

Merged
jimisola merged 4 commits into
mainfrom
refactor/flatten-workflow-directories
May 12, 2026
Merged

refactor(ci): flatten workflow directory structure to top-level naming#31
jimisola merged 4 commits into
mainfrom
refactor/flatten-workflow-directories

Conversation

@jimisola
Copy link
Copy Markdown
Member

Summary

GitHub Actions does not support subdirectory paths for cross-repository reusable workflow references (actions/runner#2102). This causes the error:

invalid value workflow reference: workflows must be defined at the top level of the .github/workflows/ directory

Rename all 20 reusable workflows from subdirectories to prefixed top-level names and update all internal references.

Renamed files

Old path New path
common/check-release.yml common-check-release.yml
common/publish-to-docker.yml common-publish-to-docker.yml
common/publish-to-github-pages.yml common-publish-to-github-pages.yml
common/release-preview.yml common-release-preview.yml
common/release.yml common-release.yml
java/build-gradle.yml java-build-gradle.yml
java/build-maven.yml java-build-maven.yml
java/lint.yml java-lint.yml
java/publish-to-gradle.yml java-publish-to-gradle.yml
java/publish-to-maven.yml java-publish-to-maven.yml
python/build-hatch.yml python-build-hatch.yml
python/build-poetry.yml python-build-poetry.yml
python/lint.yml python-lint.yml
python/publish-to-python-test.yml python-publish-to-python-test.yml
python/publish-to-python.yml python-publish-to-python.yml
typescript/build.yml typescript-build.yml
typescript/lint.yml typescript-lint.yml
typescript/publish-to-npm.yml typescript-publish-to-npm.yml
typescript/publish-to-vscode.yml typescript-publish-to-vscode.yml

Test plan

  • Merge this PR first, then merge the consumer repo PR (reqstool-vscode)
  • Trigger a manual build in a consumer repo and verify workflows resolve correctly

GitHub Actions does not support subdirectory paths for cross-repository
reusable workflow references. Rename all workflows from subdirectories
(common/, java/, python/, typescript/) to prefixed top-level names
(e.g. typescript/lint.yml -> typescript-lint.yml) and update all
internal references in ci.yml and tests/.

Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
build-docs.yml and check-semantic-pr.yml are cross-cutting reusable
workflows with no language-specific prefix. Rename to common-build-docs
and common-check-semantic-pr for consistency with the flat naming
convention.

Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
jimisola added 2 commits May 12, 2026 21:13
…and common-build-docs

Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
After flattening all workflows to top level, the **/*.yml glob no
longer matches anything and causes actionlint to error with
'no such file or directory'.

Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
@jimisola jimisola self-assigned this May 12, 2026
@jimisola jimisola merged commit 96f8c8e into main May 12, 2026
22 checks passed
@jimisola jimisola deleted the refactor/flatten-workflow-directories branch May 12, 2026 20:49
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