domjtalbot / nx-mesh

GraphQL Mesh support for Nx
https://www.npmjs.com/package/nx-mesh
MIT License
24 stars 1 forks source link

Improve CI workflows #114

Closed domjtalbot closed 1 year ago

domjtalbot commented 1 year ago

Refactor GitHub Action workflows to improve maintainability.

Current problems include:

What's Changed?

  1. New naming convention:
    • Workflows names beginning with an underscore are only used by other workflows (workflow_call).
    • Workflow names without an underscore are trigger by other methods such as push, pull_request and workflow_dispatch.
  2. Split jobs into smaller workflows:
    • New workflows for lint, build, test, generators, changesets, release, deploy.
  3. lint is always the first workflow
    • lint checks linting tools for errors
    • lint sets up node cache for other workflows to load faster
  4. Improved CI workflow
  5. Improved setup action
    • Install node packages and cache them
    • Only reinstall node packages when the pnpm lockfile changes.
    • Only save cache when needed.
    • Setup can be as fast as 14-20 seconds.
nx-cloud[bot] commented 1 year ago

☁️ Nx Cloud Report

CI is running/has finished running commands for commit 57c0996346399f24b102874f4b62dabd68460e11. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.

📂 See all runs for this branch


✅ Successfully ran 100 targets - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:lint --configuration=codeql`](https://cloud.nx.app/runs/POUaF7llWy) - [`node_v18.13.0__pnpm_7.22.0 nx run-many --target=test --parallel=3 --all --configuration=reports`](https://cloud.nx.app/runs/odogYK6Uj7) - [`node_v18.13.0__pnpm_7.22.0 nx run-many --target=lint --parallel=4 --all --configuration=reports`](https://cloud.nx.app/runs/UwLiiRpDyj) - [`node_v18.13.0__pnpm_7.22.0 nx affected --target=build --parallel=2 --configuration=production`](https://cloud.nx.app/runs/2pGTjMSseF) - [`node_v18.13.0__pnpm_7.22.0 nx run trippin:build`](https://cloud.nx.app/runs/WMyHKjfALk) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/nPgiUrwzAO) - [`node_v18.13.0__pnpm_7.22.0 nx run star-wars-api:build`](https://cloud.nx.app/runs/qVyB38s8mo) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/oYS26Rjcx2) - [`node_v18.13.0__pnpm_7.22.0 nx run rfam:build`](https://cloud.nx.app/runs/1MKId7b1L0) - [`node_v18.13.0__pnpm_7.22.0 nx run javascript-wiki:build`](https://cloud.nx.app/runs/gc6bfxBY4f) - [`node_v18.13.0__pnpm_7.22.0 nx run stackexchange:build`](https://cloud.nx.app/runs/OxuLxdms4f) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/vsQ1HHJNqg) - [`node_v18.13.0__pnpm_7.22.0 nx run trippin:build`](https://cloud.nx.app/runs/aMXj9RVwHG) - [`node_v18.13.0__pnpm_7.22.0 nx run stackexchange:build`](https://cloud.nx.app/runs/4QaCqAny6M) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/0NgK5E3jv5) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/hfkclcC5hV) - [`node_v18.13.0__pnpm_7.22.0 nx run javascript-wiki:build`](https://cloud.nx.app/runs/Wl8DsiUp3T) - [`node_v18.13.0__pnpm_7.22.0 nx run country-info:build`](https://cloud.nx.app/runs/ZdUJzXtsuE) - [`node_v18.13.0__pnpm_7.22.0 nx run fake-api:build`](https://cloud.nx.app/runs/2OTNzdLHY0) - [`node_v18.13.0__pnpm_7.22.0 nx run trippin:build`](https://cloud.nx.app/runs/nHARF0dTmN) - [`node_v18.13.0__pnpm_7.22.0 nx run rfam:build`](https://cloud.nx.app/runs/uAgltKIyXn) - [`node_v18.13.0__pnpm_7.22.0 nx run fake-api:build`](https://cloud.nx.app/runs/F9yyz6f0PZ) - [`node_v18.13.0__pnpm_7.22.0 nx run country-info:build`](https://cloud.nx.app/runs/yAo70oKmxK) - [`node_v18.13.0__pnpm_7.22.0 nx run stackexchange:build`](https://cloud.nx.app/runs/3en2VF1OOi) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/vfedm9Ge8h) - [`node_v18.13.0__pnpm_7.22.0 nx affected --target=test --parallel=3 --configuration=reports`](https://cloud.nx.app/runs/FmhHBvuYxh) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/hCbH6cNRPd) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/Aly5AsJnBa) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/bu8Qe3oV7b) - [`node_v18.13.0__pnpm_7.22.0 nx affected --target=test --parallel=3`](https://cloud.nx.app/runs/S0pK48hbQh) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/9o4yGUN0Ua) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/WHadaIeSmX) - [`node_v18.13.0__pnpm_7.22.0 nx run country-info:build`](https://cloud.nx.app/runs/bLlcQTceSA) - [`node_v18.13.0__pnpm_7.22.0 nx run star-wars-api:build`](https://cloud.nx.app/runs/WMacQr2vci) - [`node_v18.13.0__pnpm_7.22.0 nx run rfam:build`](https://cloud.nx.app/runs/2C3JQKPxVV) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/J1msq3nr6A) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/7ME5wPnBA1) - [`node_v18.13.0__pnpm_7.22.0 nx run fake-api:build`](https://cloud.nx.app/runs/BkH3OwX0Tj) - [`node_v18.13.0__pnpm_7.22.0 nx run star-wars-api:build`](https://cloud.nx.app/runs/WbPnROgKdc) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/8Vv7q8yXA8) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/nFkwcpx5eX) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/BAvXREhuld) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/tEnZvUllv8) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/YujZNgoEgf) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/nCsbXvgcsW) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/DgD1s42Vt4) - [`node_v18.13.0__pnpm_7.22.0 nx run javascript-wiki:build`](https://cloud.nx.app/runs/yM04gC2uvC) - [`node_v18.13.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/9ASuTSagiC) - [`node_v18.13.0__pnpm_7.22.0 nx affected --target=e2e-serve-dev --parallel=1`](https://cloud.nx.app/runs/lI4kJ9vPAT) - [`node_v18.13.0__pnpm_7.22.0 nx affected --target=e2e-serve --parallel=1`](https://cloud.nx.app/runs/d4auDRNshZ) - [`node_v18.13.0__pnpm_7.22.0 nx affected --target=e2e --parallel=1`](https://cloud.nx.app/runs/ZhQXmylGyR) - [`node_v18.13.0__pnpm_7.22.0 nx affected --target=e2e-start --parallel=1`](https://cloud.nx.app/runs/Jm9oEs8Um1) - [`node_v19.4.0__pnpm_7.22.0 nx run trippin:build`](https://cloud.nx.app/runs/VBwCWfncYa) - [`node_v19.4.0__pnpm_7.22.0 nx run star-wars-api:build`](https://cloud.nx.app/runs/GWcRnPO65u) - [`node_v19.4.0__pnpm_7.22.0 nx affected --target=test --parallel=3 --configuration=reports`](https://cloud.nx.app/runs/QwT6N5RoFj) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/SY2oMIEn24) - [`node_v19.4.0__pnpm_7.22.0 nx affected --target=test --parallel=3`](https://cloud.nx.app/runs/wyLWnmnbrb) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/4Lv2Om0gMO) - [`node_v19.4.0__pnpm_7.22.0 nx run javascript-wiki:build`](https://cloud.nx.app/runs/UKH1b8bI1I) - [`node_v19.4.0__pnpm_7.22.0 nx run rfam:build`](https://cloud.nx.app/runs/gvg5tlDIXb) - [`node_v19.4.0__pnpm_7.22.0 nx run stackexchange:build`](https://cloud.nx.app/runs/yJaRY0lI3d) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/YRqaARIRsu) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/nZYz86Ub4P) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/x5qJ7iCjfk) - [`node_v19.4.0__pnpm_7.22.0 nx run star-wars-api:build`](https://cloud.nx.app/runs/4CpaJmI66U) - [`node_v19.4.0__pnpm_7.22.0 nx run javascript-wiki:build`](https://cloud.nx.app/runs/45rHgIM3um) - [`node_v19.4.0__pnpm_7.22.0 nx run country-info:build`](https://cloud.nx.app/runs/zoLj6c2Elc) - [`node_v19.4.0__pnpm_7.22.0 nx affected --target=e2e-serve-dev --parallel=1`](https://cloud.nx.app/runs/rmnVmlg3iv) - [`node_v19.4.0__pnpm_7.22.0 nx affected --target=e2e-serve --parallel=1`](https://cloud.nx.app/runs/dbVlnTAv6E) - [`node_v19.4.0__pnpm_7.22.0 nx run fake-api:build`](https://cloud.nx.app/runs/iu0LPv7cpH) - [`node_v19.4.0__pnpm_7.22.0 nx run stackexchange:build`](https://cloud.nx.app/runs/nqH8aFEXNg) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/O3RV01kgOt) - [`node_v19.4.0__pnpm_7.22.0 nx run fake-api:build`](https://cloud.nx.app/runs/L11AcFBzDm) - [`node_v19.4.0__pnpm_7.22.0 nx run javascript-wiki:build`](https://cloud.nx.app/runs/ebTrCv4L6J) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/r613F0Yuxr) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/2IuDCXD6sX) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/a0bKWGjmEh) - [`node_v19.4.0__pnpm_7.22.0 nx run country-info:build`](https://cloud.nx.app/runs/gPvVGaWmGK) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/LjtTWKH5ki) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/wl7APacKkH) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/EZCsGaSojG) - [`node_v19.4.0__pnpm_7.22.0 nx affected --target=e2e --parallel=1`](https://cloud.nx.app/runs/ywWtXMZrYC) - [`node_v19.4.0__pnpm_7.22.0 nx run fake-api:build`](https://cloud.nx.app/runs/2dg6bQMRo6) - [`node_v19.4.0__pnpm_7.22.0 nx run rfam:build`](https://cloud.nx.app/runs/5tq9J50VWQ) - [`node_v19.4.0__pnpm_7.22.0 nx run rfam:build`](https://cloud.nx.app/runs/xN0W9L1tkP) - [`node_v19.4.0__pnpm_7.22.0 nx run stackexchange:build`](https://cloud.nx.app/runs/0DX026fpYE) - [`node_v19.4.0__pnpm_7.22.0 nx run country-info:build`](https://cloud.nx.app/runs/g5YrIXkKdU) - [`node_v19.4.0__pnpm_7.22.0 nx run trippin:build`](https://cloud.nx.app/runs/ZKyBEsLALE) - [`node_v19.4.0__pnpm_7.22.0 nx run trippin:build`](https://cloud.nx.app/runs/6l9Sd3dVHU) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/vcADy1i6lU) - [`node_v19.4.0__pnpm_7.22.0 nx run star-wars-api:build`](https://cloud.nx.app/runs/iwH1nsiZex) - [`node_v19.4.0__pnpm_7.22.0 nx affected --target=e2e-start --parallel=1`](https://cloud.nx.app/runs/SWEFTHTPqr) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/BLd1jXE6Vj) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/JUsD40Kr3x) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/PoEk9RAW17) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/0ZzYUF3Xku) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/LgvppVHXJt) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/pZHBQhHleS) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/UZOrs24nFI) - [`node_v19.4.0__pnpm_7.22.0 nx run nx-mesh:build`](https://cloud.nx.app/runs/oqhAWgN86B)

Sent with 💌 from NxCloud.

changeset-bot[bot] commented 1 year ago

⚠️ No Changeset found

Latest commit: 57c0996346399f24b102874f4b62dabd68460e11

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

codeclimate[bot] commented 1 year ago

Code Climate has analyzed commit 57c09963 and detected 0 issues on this pull request.

View more on Code Climate.

sonarcloud[bot] commented 1 year ago

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

github-actions[bot] commented 1 year ago

This pull request has been deployed to Vercel.

Latest commit: 57c0996
✅ Preview: https://nx-mesh-mrf4lprxg-domjtalbot.vercel.app
🔍 Inspect: https://vercel.com/domjtalbot/nx-mesh/CMWULYfKJG7p2Sm86a38PW15netY

View Workflow Logs