chore: turn the CI workflow into a scaffold and document pnpm - #45
Merged
Conversation
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Aug 12, 2026
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.
Closes part of #42.
Why
.github/workflows/nodeci.ymlwas added yesterday in #43 so the example repo would pass its own CI. That fixed item 4 of #42, but it broke the exercise the repo exists for: the CI course tells the student to write the workflow.300-jobs: «Форкните репозиторий … Создайте воркфлоу. В нем должны быть три шага:make setup,make lint,make test»380-actions: «добавьте в воркфлоу экшенhexlet-components/hello-from-hexlet-action@release»A fork currently arrives with all of that already written, so the self-study is done for the student.
What changed
nodeci.ymlis renamed tomain.ymland turned into a scaffold. Everything the student is not asked to figure out stays in place — checkout, pnpm and setup-node, including the pnpm-before-setup-node ordering that would otherwise make them fail on an unrelated topic. The threemakesteps move behindBEGIN/ENDmarkers:The marker comment deliberately says nothing about the Hexlet action — that is the next lesson’s task.
The file is named
main.ymlbecause that is the path the course points at as the reference: https://github.com/hexlet-components/hexlet-ci-app/blob/final/.github/workflows/main.yml. With the same name on both branches, the difference between a fresh fork and the reference is exactly the marked region.on:is no longer filtered tomain. The reference branchfinalneeds the workflow to run there too, otherwise its README badge has no status. The cost is two runs per in-repo PR, which is what the previous reference did as well.README said
NPM >= 10.xwhile the Makefile callspnpm. Lesson300-jobsstep 2 tells the student to read the README, so that mismatch sends them to install the wrong tool.The trade-off, stated plainly
mainno longer runslintandtestin CI. The workflow stays green but checks nothing, so PRs intomain— including Dependabot ones — are not validated by a build any more. This is the opposite of what the last paragraph of #42 asked for, and it undoes part of #43 on purpose: the repository exists as course material first.pr-title.ymlis untouched and still enforces conventional titles.If keeping real checks on
mainmatters more, the alternative is a second workflow under a different name — but then the fork ships a working CI again and we are back to the exercise being pre-solved.Next
The filled-in reference goes to
final, rebuilt from currentmain. That branch is 17 commits behind and still on Strapi 4.2.3 / jest 28 /node >=12 <=16, which is the rest of #42.