Skip to content

Commit 7dd669c

Browse files
committed
remove ndk because its already in the runner
1 parent 2ead7cb commit 7dd669c

File tree

1 file changed

+139
-126
lines changed

1 file changed

+139
-126
lines changed

.github/actions/setup-e2e-env/action.yml

Lines changed: 139 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -84,132 +84,6 @@ runs:
8484
- run: echo "Setup E2E Environment started"
8585
shell: bash
8686

87-
## Android Setup (early for fail-fast) ##
88-
89-
# Set Android environment variables (self-hosted runner has SDK pre-installed)
90-
- name: Set Android environment variables
91-
if: ${{ inputs.platform == 'android' }}
92-
run: |
93-
echo "ANDROID_HOME=/opt/android-sdk" >> "$GITHUB_ENV"
94-
echo "ANDROID_SDK_ROOT=/opt/android-sdk" >> "$GITHUB_ENV"
95-
shell: bash
96-
97-
- name: Configure Android Signing Certificates
98-
if: ${{ inputs.platform == 'android' && inputs.configure-keystores == 'true' }}
99-
uses: MetaMask/github-tools/.github/actions/configure-keystore@e2e-env-actions
100-
with:
101-
aws-role-to-assume: ${{ inputs.keystore-role-to-assume }}
102-
aws-region: 'us-east-2'
103-
platform: 'android'
104-
environment: ${{ inputs.environment }}
105-
106-
## JDK Setup
107-
- name: Setup Java
108-
if: ${{ inputs.platform == 'android' }}
109-
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00
110-
with:
111-
java-version: ${{ inputs.jdk-version }}
112-
distribution: ${{ inputs.jdk-distribution }}
113-
114-
- name: Install required emulator dependencies
115-
if: ${{ inputs.platform == 'android' && runner.os == 'Linux' }}
116-
run: |
117-
sudo apt-get update
118-
sudo apt-get install -y \
119-
libpulse0 \
120-
libglu1-mesa \
121-
libnss3 \
122-
libxss1
123-
124-
echo "✅ Linux dependencies installed successfully"
125-
shell: bash
126-
127-
## Android SDK Setup
128-
129-
- name: Install Android SDK packages
130-
if: ${{ inputs.platform == 'android' }}
131-
run: |
132-
echo "Accepting SDK licenses..."
133-
printf 'y\n%.0s' {1..10} | "/opt/android-sdk/cmdline-tools/latest/bin/sdkmanager" --licenses
134-
135-
echo "Installing Android SDK components..."
136-
"/opt/android-sdk/cmdline-tools/latest/bin/sdkmanager" --install \
137-
"platform-tools" \
138-
"platforms;android-${{ inputs.android-api-level }}" \
139-
"build-tools;34.0.0" \
140-
"emulator" \
141-
"system-images;android-${{ inputs.android-api-level }};google_apis;${{ inputs.android-abi }}"
142-
143-
echo "Updating SDK packages..."
144-
"/opt/android-sdk/cmdline-tools/latest/bin/sdkmanager" --update
145-
146-
echo "✅ Android SDK packages installed successfully"
147-
shell: bash
148-
149-
## NDK Setup
150-
151-
- name: Debug Android SDK Paths
152-
if: ${{ inputs.platform == 'android' }}
153-
run: |
154-
echo "ANDROID_HOME: $ANDROID_HOME"
155-
echo "ANDROID_SDK_ROOT: $ANDROID_SDK_ROOT"
156-
shell: bash
157-
158-
- name: Install Android NDK
159-
if: ${{ inputs.platform == 'android' }}
160-
run: |
161-
"/opt/android-sdk/cmdline-tools/latest/bin/sdkmanager" "ndk;${{ inputs.ndk-version }}"
162-
shell: bash
163-
164-
- name: Add Android tools to PATH
165-
if: ${{ inputs.platform == 'android' }}
166-
run: |
167-
echo "/opt/android-sdk/platform-tools" >> "$GITHUB_PATH"
168-
echo "/opt/android-sdk/emulator" >> "$GITHUB_PATH"
169-
echo "/opt/android-sdk/cmdline-tools/latest/bin" >> "$GITHUB_PATH"
170-
shell: bash
171-
172-
- name: Add NDK related toolchains to PATH
173-
if: ${{ inputs.platform == 'android' }}
174-
run: |
175-
NDK_TOOLCHAIN="/opt/android-sdk/ndk/${{ inputs.ndk-version }}/toolchains/llvm/prebuilt/linux-x86_64/bin"
176-
echo "$NDK_TOOLCHAIN" >> "$GITHUB_PATH"
177-
echo "/opt/android-sdk/ndk/${{ inputs.ndk-version }}" >> "$GITHUB_PATH"
178-
shell: bash
179-
180-
## Launch AVD
181-
182-
- name: Set ANDROID_AVD_HOME for downstream steps
183-
if: ${{ inputs.platform == 'android'}}
184-
shell: bash
185-
run: |
186-
echo "ANDROID_AVD_HOME=$HOME/.android/avd" >> "$GITHUB_ENV"
187-
mkdir -p "$HOME/.android/avd"
188-
189-
- name: Create Android Virtual Device (AVD)
190-
if: ${{ inputs.platform == 'android'}}
191-
run: |
192-
IMAGE="system-images;android-${{ inputs.android-api-level }};google_apis;${{ inputs.android-abi }}"
193-
echo "Creating AVD with image: $IMAGE"
194-
echo "no" | "/opt/android-sdk/cmdline-tools/latest/bin/avdmanager" create avd \
195-
--name "${{ inputs.android-avd-name }}" \
196-
--package "$IMAGE" \
197-
--device "${{ inputs.android-device }}"
198-
shell: bash
199-
200-
## iOS Platform Setup ##
201-
202-
- name: Configure iOS Signing Certificates
203-
if: ${{ inputs.platform == 'ios' && inputs.configure-keystores == 'true' }}
204-
uses: MetaMask/github-tools/.github/actions/configure-keystore@e2e-env-actions
205-
with:
206-
aws-role-to-assume: ${{ inputs.keystore-role-to-assume }}
207-
aws-region: 'us-east-2'
208-
platform: 'ios'
209-
environment: ${{ inputs.environment }}
210-
211-
## Node.js & JavaScript Dependencies Setup ##
212-
21387
- name: Setup Node.js
21488
uses: actions/setup-node@v4
21589
with:
@@ -261,6 +135,14 @@ runs:
261135
"$FOUNDRY_BIN/foundryup"
262136
263137
## IOS Setup ##
138+
- name: Configure iOS Signing Certificates
139+
if: ${{ inputs.platform == 'ios' && inputs.configure-keystores == 'true' }}
140+
uses: MetaMask/github-tools/.github/actions/configure-keystore@e2e-env-actions
141+
with:
142+
aws-role-to-assume: ${{ inputs.keystore-role-to-assume }}
143+
aws-region: 'us-east-2'
144+
platform: 'ios'
145+
environment: ${{ inputs.environment }}
264146

265147
## Ruby Setup & Cache Management
266148
- name: Setup Ruby
@@ -331,3 +213,134 @@ runs:
331213
if: ${{ inputs.platform == 'ios' }}
332214
run: xcrun simctl list devices
333215
shell: bash
216+
217+
## Android Setup ##
218+
219+
## JDK Setup
220+
- name: Setup Java
221+
if: ${{ inputs.platform == 'android' }}
222+
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00
223+
with:
224+
java-version: ${{ inputs.jdk-version }}
225+
distribution: ${{ inputs.jdk-distribution }}
226+
227+
- name: Configure Android Signing Certificates
228+
if: ${{ inputs.platform == 'android' && inputs.configure-keystores == 'true' }}
229+
uses: MetaMask/github-tools/.github/actions/configure-keystore@e2e-env-actions
230+
with:
231+
aws-role-to-assume: ${{ inputs.keystore-role-to-assume }}
232+
aws-region: 'us-east-2'
233+
platform: 'android'
234+
environment: ${{ inputs.environment }}
235+
236+
- name: Enable KVM group perms (Ubuntu only)
237+
if: ${{ inputs.platform == 'android' && runner.os == 'Linux' }}
238+
run: |
239+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
240+
sudo udevadm control --reload-rules
241+
sudo udevadm trigger --name-match=kvm
242+
shell: bash
243+
244+
## Android SDK Setup
245+
246+
- name: Install required emulator dependencies
247+
if: ${{ inputs.platform == 'android' && runner.os == 'Linux' }}
248+
run: |
249+
sudo apt-get update
250+
sudo apt-get install -y \
251+
libpulse0 \
252+
libglu1-mesa \
253+
libnss3 \
254+
libxss1
255+
256+
echo "✅ Linux dependencies installed successfully"
257+
shell: bash
258+
259+
- name: Install Android SDK packages
260+
if: ${{ inputs.platform == 'android' }}
261+
run: |
262+
echo "Accepting SDK licenses..."
263+
printf 'y\n%.0s' {1..10} | "${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager" --licenses
264+
265+
echo "Installing Android SDK components..."
266+
"${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager" --install \
267+
"platform-tools" \
268+
"platforms;android-${{ inputs.android-api-level }}" \
269+
"build-tools;34.0.0" \
270+
"emulator" \
271+
"system-images;android-${{ inputs.android-api-level }};google_apis;${{ inputs.android-abi }}" \
272+
273+
echo "Updating SDK packages..."
274+
"${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager" --update
275+
276+
echo "✅ Android SDK packages installed successfully"
277+
shell: bash
278+
279+
## NDK Setup
280+
281+
- name: Debug Android SDK Paths
282+
if: ${{ inputs.platform == 'android' }}
283+
run: |
284+
echo "ANDROID_HOME: $ANDROID_HOME"
285+
echo "ANDROID_SDK_ROOT: $ANDROID_SDK_ROOT"
286+
echo "ANDROID_NDK_HOME: $ANDROID_NDK_HOME"
287+
echo "Available NDK versions:"
288+
ls -la "$ANDROID_SDK_ROOT/ndk/" || echo "NDK directory not found"
289+
shell: bash
290+
291+
- name: Add Android tools to PATH
292+
if: ${{ inputs.platform == 'android' }}
293+
run: |
294+
echo "$ANDROID_HOME/platform-tools" >> "$GITHUB_PATH"
295+
echo "$ANDROID_HOME/emulator" >> "$GITHUB_PATH"
296+
echo "$ANDROID_HOME/cmdline-tools/latest/bin" >> "$GITHUB_PATH"
297+
shell: bash
298+
299+
- name: Add NDK related toolchains to PATH
300+
if: ${{ inputs.platform == 'android' }}
301+
run: |
302+
# Use the NDK version that's available in the container
303+
# The container has symlinks for major versions (26, 27, 28)
304+
NDK_VERSION_TO_USE="${{ inputs.ndk-version }}"
305+
# Extract major version from input (e.g. 26.1.10909125 -> 26)
306+
NDK_MAJOR_VERSION=$(echo "$NDK_VERSION_TO_USE" | cut -d'.' -f1)
307+
308+
# Use the symlinked major version path from the container
309+
NDK_PATH="$ANDROID_SDK_ROOT/ndk/$NDK_MAJOR_VERSION"
310+
311+
if [ -d "$NDK_PATH" ]; then
312+
echo "Using NDK at: $NDK_PATH"
313+
NDK_TOOLCHAIN="$NDK_PATH/toolchains/llvm/prebuilt/linux-x86_64/bin"
314+
echo "$NDK_TOOLCHAIN" >> "$GITHUB_PATH"
315+
echo "$NDK_PATH" >> "$GITHUB_PATH"
316+
317+
# Set NDK environment variables for this job
318+
echo "ANDROID_NDK_HOME=$NDK_PATH" >> "$GITHUB_ENV"
319+
echo "ANDROID_NDK_ROOT=$NDK_PATH" >> "$GITHUB_ENV"
320+
echo "ANDROID_NDK=$NDK_PATH" >> "$GITHUB_ENV"
321+
else
322+
echo "Warning: NDK not found at $NDK_PATH"
323+
echo "Available NDK versions:"
324+
ls -la "$ANDROID_SDK_ROOT/ndk/" || echo "NDK directory not found"
325+
fi
326+
shell: bash
327+
328+
## Launch AVD
329+
330+
- name: Set ANDROID_AVD_HOME for downstream steps
331+
if: ${{ inputs.platform == 'android'}}
332+
shell: bash
333+
run: |
334+
echo "ANDROID_AVD_HOME=$HOME/.android/avd" >> "$GITHUB_ENV"
335+
mkdir -p "$HOME/.android/avd"
336+
337+
- name: Create Android Virtual Device (AVD)
338+
if: ${{ inputs.platform == 'android'}}
339+
run: |
340+
IMAGE="system-images;android-${{ inputs.android-api-level }};google_apis;${{ inputs.android-abi }}"
341+
echo "Creating AVD with image: $IMAGE"
342+
echo "no" | "${ANDROID_HOME}/cmdline-tools/latest/bin/avdmanager" create avd \
343+
--name "${{ inputs.android-avd-name }}" \
344+
--package "$IMAGE" \
345+
--device "${{ inputs.android-device }}"
346+
shell: bash

0 commit comments

Comments
 (0)