diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000..a7c471b --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,71 @@ +# Azure Pipelines — React Native (JS CI) +# https://learn.microsoft.com/azure/devops/pipelines/yaml-schema +# +# Same self-hosted pool as other repos — if this pipeline stays Queued or ignores your agent: +# 1) Pipelines → this pipeline → Edit → ⋯ → Triggers → YAML file path must be THIS file +# (repo root: /PerformicsDevOps.yml). Default lookup is only /azure-pipelines.yml. +# 2) Project Settings → Agent pools → PerformicsCICD → Security → grant this pipeline access +# (or enable "Grant access permission to all pipelines"). +# +# Run on every push directly to main (and when merging into main via PR). +# name: PerformicsDevOps-$(Date:yyyyMMdd)$(Rev:.r) + +trigger: + branches: + include: + - main + +pr: + branches: + include: + - main + +variables: + NODE_VERSION: '22.x' + +jobs: + - job: BuildAndTest + displayName: Performics DevOps Pipeline + # Self-hosted pool "PerformicsCICD" (same pattern as working Deeplink/azure-pipelines.yml). + pool: + name: PerformicsCICD + steps: + - checkout: self + displayName: Checkout + continueOnError: false + + - task: NodeTool@0 + displayName: Use Node.js + continueOnError: false + inputs: + versionSpec: $(NODE_VERSION) + + - script: | + set -euo pipefail + node -v + npm -v + pwd + displayName: Diagnostics + continueOnError: false + + - script: | + set -euo pipefail + npm ci + displayName: npm ci + continueOnError: false + + # - script: | + # set -euo pipefail + # npm run lint + # displayName: ESLint + # continueOnError: false + + # - script: | + # set -euo pipefail + # cd android + # ./gradlew assembleRelease + # displayName: Android assembleRelease + # continueOnError: false + + # - script: npm test -- --ci --coverage + # displayName: Jest