Skip to content

Instantly share code, notes, and snippets.

Last active June 3, 2024 12:35
Show Gist options
  • Save mrk-han/3d746054eb721a9973817ec7a21363f1 to your computer and use it in GitHub Desktop.
Save mrk-han/3d746054eb721a9973817ec7a21363f1 to your computer and use it in GitHub Desktop.
Simple Guide for a Build and Testing Pipeline with Expo and EAS from Azure Devops CICD (Managed Workflow)
- main
- releases/*
- hotfix/*
autoCancel: true
drafts: false
- group: name-of-variables-group-goes-here
- stage: build_and_test
displayName: Build and Test
vmImage: 'macos-latest'
- job: build
displayName: Build
- checkout: self
clean: true
- task: NodeTool@0
versionSpec: '16.x'
displayName: Install Node.js
- bash: |
set -x
npm install -g expo-cli
npm install -g eas-cli
displayName: Install pipeline dependencies
- bash: |
set -x
expo login -u $(SHARED_EXPO_USERNAME) -p $(SHARED_EXPO_PASSWORD) --non-interactive
displayName: Login to expo cli
- bash: yarn install --frozen-lockfile
displayName: Yarn install
- bash: |
set -x
yarn test:ci
displayName: Run Unit Tests
- bash: |
eas build --platform ios --profile buildForDetoxTesting --local
displayName: Build .app for UI Testing on Azure MacOS Agent
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
- bash: |
eas build --platform ios --non-interactive --no-wait
displayName: Run Build on EAS to have .app available on website too
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
- bash: |
expo publish --non-interactive
displayName: Publish app to expo default channel
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
- task: PublishTestResults@2
condition: succeededOrFailed()
testRunner: JUnit
testResultsFiles: '**/junit.xml'
Copy link

Hey, nice script there, got a question, how you can add up env variables into it? Since in my project i'm using the .env file to store variables, how you could read from there or is there any other way to access them?

Copy link

NasTheRobotKing commented Apr 4, 2024 via email

Copy link

Hi everyone
I am trying to do almost the same but deploy android and, could someone help me with a very similar example including adroid deployment?


Copy link

jerone commented Jun 3, 2024

The EAS Build keeps returning with the question: √ Do you want to log in to your Apple account?...
Does anyone know a work-around?
Android build is no issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment