๐Ÿ” Lab 17 - NxCloud GitHub bot

March 21, 2023 ยท View on GitHub

โฐ Estimated time: 10 minutes

๐Ÿ“š Learning outcomes:

  • Explore the NxCloud Run-Detail pages
  • Configure the NxCloud bot to get easy to read reports on the Nx checks performed during CI


๐Ÿ‹๏ธโ€โ™€๏ธ Steps :

  1. Enable the NxCloud GitHub bot on your GitHub repository: https://github.com/apps/nx-cloud

  2. Switch to a new branch: git checkout -b nxcloud-bot

  3. Make a change (add a console.log) in the store: apps/store/src/app/app.component.ts (so that it will trigger our affected commands in CI):

    export class AppComponent {
      constructor(private http: HttpClient) {
        console.log("component constructed") <-- add console log
      }
    



  4. Commit everything and push your branch

  5. Make a PR on GitHub

  6. Once the checks finish you should see something similar to this:

    NxCloud Bot

    If your install is failing with @storybook/angular add following to the root package.json:

    "overrides": {
      "@storybook/angular": {
        "zone.js": "0.12.0"
      }
    }
    
  7. Click on one of the "failed" commands (if any). On the "Run Details" page, click on one of the projects and inspect the terminal output:

    Nx Cloud project

    ๐Ÿ”ฅ Rather than reading through CI logs, you can use this view to filter to the failed projects and inspect the failure reason scoped to that project.



  8. Have a look at the "Cache Hit" and "Cache Miss" filters. What do you think they do?

    Cache hit/miss

  9. Finally, you should see a "Claim workspace" button at the top - it's a good idea to do that at this stage. We'll explain more about that in a bit!

  10. Merge your PR into main and pull latest locally:

    git checkout main
    git pull
    

  11. BONUS: Have a look at some of the docs for setting up NxCloud on CI to see how the set-up might apply to your CI provider.

  12. BONUS: Read this blog post on "Distributed Task Execution". We'll briefly talk about this after the lab.


โžก๏ธ Next lab โžก๏ธ