Repository navigation
Conversation
It stays available at the v24.4 tag. This makes room for the application of the current Getting Started tutorial. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The product catalog of the Getting Started tutorial, as it is at the end of the Add Tests step. It is generated from the code listings of the tutorial in vaadin/docs (v25.3), starting from the project skeleton that the Set Up Project step links to. Closes #13 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
GenerateSteps.java generates the application at the end of each step from the tutorial in vaadin/docs. CI builds main, builds and tests every step, checks that main matches the last step, and on main pushes the step/<page> branches as one commit per step. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 #13.
Replaces the Vaadin 24.4 chat tutorial on
mainwith the finished application of the Getting Started tutorial, and adds CI that generates, tests, and publishes a branch for every step from the tutorial in vaadin/docs.What changed
mainholds the finished application, as it is at the end of Add Tests. It starts from the skeleton that Set Up Project links to (platformVersion=v25.3, Vaadin 25.3.2, Spring Boot 4.1.1), with H2, Spring Data JDBC, and validation added. The code comes from the tutorial unchanged: package-private classes incom.example.product,MainLayoutandViewTitleincom.example.base.ui, andOrdersViewincom.example.order.v24.4tag, which already points at the last commit of the oldmain(95d22cd). I didn't add av24.4branch: a branch and a tag with the same name makev24.4ambiguous in git. GitHub links such as/tree/v24.4work for the tag.GenerateSteps.javais a single-file Java program, run withjava GenerateSteps.java <docs> <out>. It reads the tutorial pages from a vaadin/docs checkout and downloads the skeleton from the link in Set Up Project, using the attributes in_vaadin-version.adoc. It adds the<dependency>listings of each step topom.xmland copiesschema.sqlanddata.sql. Then, step by step, it writes the files from each "Complete Code for This Step" section on top of the previous step. Steps such as Add Navigation list only the files they change, so the steps have to build on each other.commit-steps.shcommits the steps as a chain, one commit per step, onstep/setup…step/add-tests. It reuses a step's commit when its tree and parent haven't changed, so a change to the docs rewrites only the step it affects and the steps after it.main, on pull requests, every Monday, and on demand. It:mainwith./mvnw verify,DOCS_REF(v25.3, the branch behind docs/latest) and runs./mvnw verifyon each step in a matrix,mainmatches the last step, except forREADME.mdand.github, and that the README mentions every step branch,main, pushes the step branches that changed.mainor move to a new Vaadin version.After merging
The
step/*branches don't exist yet. The first CI run onmainafter the merge creates them. That job needscontents: writeforGITHUB_TOKEN, which the workflow requests. If the org policy doesn't allow it, the job fails, and.github/steps/commit-steps.sh <out> --pushcan be run locally instead.Once the branches exist, the tutorial index and the end of Add Tests in vaadin/docs can link here (vaadin/docs#6288, finding 5).
How it was verified
v25.3(90771e4). The tutorial pages there are identical to docsmain../mvnw verifypasses on every step and on this branch. Add Tests runs 6 tests, with 0 failures./products/3with Save and Delete, and/ordersshows the placeholder.commit-steps.shin a scratch clone, without pushing:mvnwis executable, andmvnw.cmdkeeps the skeleton's CRLF blob.maincheck locally: it passes against this branch and fails with a diff against a changed step.pom.xmlnames a per-download start.vaadin.com project ID in a comment. The generator drops that line, so that repeated runs give the same files.🤖 Generated with Claude Code