From 271e23b8581361aed6d5c7969ad594b5a7e757df Mon Sep 17 00:00:00 2001 From: Jonathan Cammisuli Date: Mon, 4 Nov 2024 09:55:22 -0500 Subject: [PATCH] add ci setup --- .github/workflows/ci.yml | 57 ++++++++++++++++++++++++++++++++++++++++ nx.json | 2 +- 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..7ab9b92 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,57 @@ +name: CI + +on: + push: + branches: + - main + pull_request: + +permissions: + contents: write + id-token: write + actions: write + +jobs: + main: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: pnpm/action-setup@v4 + with: + version: 9 + + - name: 'Set up Cloud SDK' + uses: 'google-github-actions/setup-gcloud@v2' + with: + version: '>= 363.0.0' + + - id: 'auth' + name: 'Authenticate to Google Cloud' + uses: 'google-github-actions/auth@v2' + with: + token_format: 'access_token' + workload_identity_provider: 'projects/667683729937/locations/global/workloadIdentityPools/nx-cloud-gh-actions-pool/providers/gh-actions-provider' + service_account: 'gh-action-image-push@nxcloudoperations.iam.gserviceaccount.com' + + # This enables task distribution via Nx Cloud + # Run this command as early as possible, before dependencies are installed + # Learn more at https://nx.dev/ci/reference/nx-cloud-cli#npx-nxcloud-startcirun + # Connect your workspace by running "nx connect" and uncomment this line to enable task distribution + # - run: pnpm dlx nx-cloud start-ci-run --distribute-on="3 linux-medium-js" --stop-agents-after="build" + + # Cache node_modules + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'pnpm' + + - run: pnpm install --frozen-lockfile + - uses: nrwl/nx-set-shas@v4 + + # Prepend any command with "nx-cloud record --" to record its logs to Nx Cloud + # - run: pnpm exec nx-cloud record -- echo Hello World + # Nx Affected runs only tasks affected by the changes in this PR/commit. Learn more: https://nx.dev/ci/features/affected + - run: pnpm exec nx affected -t lint test build diff --git a/nx.json b/nx.json index 1b650b9..a076571 100644 --- a/nx.json +++ b/nx.json @@ -9,7 +9,7 @@ "!{projectRoot}/.eslintrc.json", "!{projectRoot}/eslint.config.js" ], - "sharedGlobals": [] + "sharedGlobals": ["{workspaceRoot}/.github/workflows/ci.yml"] }, "plugins": [ {