Open github-actions[bot] opened 5 days ago
Current workflow is using a deprecated version of Node.js (Node 16), you need to update the realm/aws-devicefarm action to use Node.js 20.
Update .github/workflows/e2ePerformanceTests.yml
Update the workflow file to use Node.js 20, and ensure the correct version of the realm/aws-devicefarm
action is used.
Example Workflow (e2ePerformanceTests.yml
):
name: e2ePerformanceTests
on:
push:
branches:
- main
jobs:
run-e2e-tests:
runs-on: ubuntu-latest
steps:
# Checkout code
- name: Checkout code
uses: actions/checkout@v3
# Setup Node.js version (Node.js 20)
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '20'
# Install dependencies
- name: Install dependencies
run: npm install
# AWS Device Farm Configuration
- name: Run E2E tests in AWS Device Farm
uses: realm/aws-devicefarm@v1 # Ensure to use a compatible version
with:
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws_region: 'us-west-2' # Set your region
project_arn: ${{ secrets.AWS_DEVICEFARM_PROJECT_ARN }}
device_pool_arn: ${{ secrets.AWS_DEVICEFARM_DEVICE_POOL_ARN }}
app_path: './app/build/outputs/apk/debug/app-debug.apk' # Set your app path
test_path: './app/build/outputs/test/debug/test-debug.apk'
test_type: 'INSTRUMENTATION' # Set appropriate test type
timeout_minutes: 120 # Adjust timeout if necessary
# Upload logs
- name: Upload test logs
uses: actions/upload-artifact@v3
with:
name: debug.log
path: path/to/debug.log # Ensure logs are correctly configured and uploaded
Increase Timeout and Handle Test Failures
Installation of AWS CLI (locally or in CI):
# Install AWS CLI if not already installed
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /
Configuring AWS CLI:
aws configure
# Enter AWS Access Key, Secret Access Key, region, and output format.
# Run E2E tests in AWS Device Farm with retry logic
- name: Run E2E tests in AWS Device Farm
uses: realm/aws-devicefarm@v1
with:
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws_region: 'us-west-2'
project_arn: ${{ secrets.AWS_DEVICEFARM_PROJECT_ARN }}
device_pool_arn: ${{ secrets.AWS_DEVICEFARM_DEVICE_POOL_ARN }}
app_path: './app/build/outputs/apk/debug/app-debug.apk'
test_path: './app/build/outputs/test/debug/test-debug.apk'
test_type: 'INSTRUMENTATION'
continue-on-error: true # Allow the job to continue even if it fails
# Retry failed step
- name: Retry E2E tests if failed
if: failure()
run: |
echo "Retrying failed E2E tests..."
# Retry logic here (you can rerun specific commands if needed)
yaml
Copy code
# Verify Node.js version
- name: Verify Node.js Version
run: node -v
Let me know if you need further clarification or help with any part of the process!
@kirillzyusko & @Szymon20000 Are investigating and sharing their results in this Slack thread.
π¨ Failure Summary π¨:
β οΈ Action Required β οΈ:
π οΈ A recent merge appears to have caused a failure in the job named e2ePerformanceTests / Run E2E tests in AWS device farm. This issue has been automatically created and labeled with
Workflow Failure
for investigation.π Please look into the following:
π We appreciate your help in squashing this bug!