Skip to content

Commit

Permalink
fix: run e2e tests on ubuntu
Browse files Browse the repository at this point in the history
  • Loading branch information
limpbrains committed Jun 14, 2024
1 parent d9f2fde commit 9b29172
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 66 deletions.
20 changes: 6 additions & 14 deletions .github/workflows/e2e-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,17 +55,17 @@ jobs:
# cache: 'yarn' # cache packages, but not node_modules
# cache-dependency-path: 'example/yarn.lock'

- name: Cache lib node modules
- name: Use yarn caches
uses: actions/cache@v4
id: lib-npmcache
with:
path: lib/node_modules
key: node-modules-${{ hashFiles('**/yarn.lock') }}
path: ~/.yarn
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install lib dependencies
if: steps.lib-npmcache.outputs.cache-hit != 'true'
working-directory: lib
run: yarn install
run: yarn --no-audit --prefer-offline || yarn --no-audit --prefer-offline

- name: Build lib
working-directory: lib
Expand All @@ -81,14 +81,6 @@ jobs:
restore-keys: |
${{ runner.os }}-gradle-
- name: Use yarn caches
uses: actions/cache@v4
with:
path: ~/.yarn
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-

- name: Install node_modules
working-directory: example
run: yarn install || yarn install && yarn rn-setup
Expand Down
120 changes: 69 additions & 51 deletions .github/workflows/mocha-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,36 +10,80 @@ on:

jobs:
mocha-android:
runs-on: macos-12
runs-on: ubuntu-latest
timeout-minutes: 120

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Setup Docker Colima 1
uses: douglascamata/setup-docker-macos-action@v1-alpha
id: docker1
continue-on-error: true
# - name: Setup Docker Colima 1
# uses: douglascamata/setup-docker-macos-action@v1-alpha
# id: docker1
# continue-on-error: true
# with:
# lima: v0.18.0
# colima: v0.5.6

# - name: Setup Docker Colima 2
# if: steps.docker1.outcome != 'success'
# uses: douglascamata/setup-docker-macos-action@v1-alpha
# id: docker2
# continue-on-error: true
# with:
# lima: v0.18.0
# colima: v0.5.6

# - name: Setup Docker Default
# if: steps.docker1.outcome != 'success' && steps.docker2.outcome != 'success'
# uses: docker-practice/[email protected]
# timeout-minutes: 30

- name: Free Disk Space
uses: jlumbroso/free-disk-space@main
with:
lima: v0.18.0
colima: v0.5.6

- name: Setup Docker Colima 2
if: steps.docker1.outcome != 'success'
uses: douglascamata/setup-docker-macos-action@v1-alpha
id: docker2
continue-on-error: true
# this might remove tools that are actually needed,
# if set to "true" but frees about 6 GB
tool-cache: false
android: false
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true

- name: yarn and gradle caches in /mnt
run: |
rm -rf ~/.yarn
rm -rf ~/.gradle
sudo mkdir -p /mnt/.yarn
sudo mkdir -p /mnt/.gradle
sudo chown -R runner /mnt/.yarn
sudo chown -R runner /mnt/.gradle
ln -s /mnt/.yarn /home/runner/
ln -s /mnt/.gradle /home/runner/
- name: Create artifacts directory on /mnt
run: |
sudo mkdir -p /mnt/artifacts
sudo chown -R runner /mnt/artifacts
- name: Node
uses: actions/setup-node@v4
with:
lima: v0.18.0
colima: v0.5.6
node-version: 20
# cache: 'yarn' # cache packages, but not node_modules
# cache-dependency-path: 'example/yarn.lock'

- name: Setup Docker Default
if: steps.docker1.outcome != 'success' && steps.docker2.outcome != 'success'
uses: docker-practice/[email protected]
timeout-minutes: 30
- name: Use yarn caches
uses: actions/cache@v4
with:
path: ~/.yarn
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Run regtest setup
working-directory: example/docker
Expand All @@ -53,22 +97,7 @@ jobs:
timeout-minutes: 2
run: while ! nc -z '127.0.0.1' 60001; do sleep 1; done

- name: Node
uses: actions/setup-node@v3
with:
node-version: 18
cache: 'yarn' # cache packages, but not node_modules
cache-dependency-path: 'example/yarn.lock'

- name: Cache lib node modules
uses: actions/cache@v3
id: lib-npmcache
with:
path: lib/node_modules
key: node-modules-${{ hashFiles('**/yarn.lock') }}

- name: Install lib dependencies
if: steps.lib-npmcache.outputs.cache-hit != 'true'
working-directory: lib
run: yarn --no-audit --prefer-offline || yarn --no-audit --prefer-offline

Expand All @@ -84,26 +113,15 @@ jobs:
restore-keys: |
${{ runner.os }}-gradle-
# - name: Cache node modules
# uses: actions/cache@v3
# id: cache-nm
# with:
# path: node_modules
# key: node-modules-${{ hashFiles('**/yarn.lock') }}

- name: Install node_modules
working-directory: example
run: yarn install && yarn rn-setup
run: yarn install || yarn install && yarn rn-setup

- name: Use specific Java version for sdkmanager to work
uses: actions/setup-java@v2
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '11'

# - name: Build
# working-directory: example
# run: npx react-native run-android --no-packager
java-version: '17'

- name: run tests
uses: reactivecircus/android-emulator-runner@v2
Expand All @@ -117,8 +135,8 @@ jobs:
script: |
../.github/workflows/mocha-anrdoid.sh
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: failure()
with:
name: ldk-data
path: example/artifacts/
path: /mnt/artifacts
2 changes: 1 addition & 1 deletion .github/workflows/mocha-anrdoid.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ echo $EXIT_CODE;
if [ $EXIT_CODE -ne 0 ]; then
adb root
sleep 10
adb pull /data/user/0/com.exmpl/files/ldk/ artifacts/
adb pull /data/user/0/com.exmpl/files/ldk/ /mnt/artifacts/
fi

exit $EXIT_CODE

0 comments on commit 9b29172

Please sign in to comment.