Skip to content

Commit

Permalink
ci(action): update dependencies, tested platforms, and use linux kvm (#…
Browse files Browse the repository at this point in the history
…267)

* ci(action): update dependencies, tested platforms, and use linux kvm
* ci(action): add ios-17.x configs & update ios-15.x to use xcode-14
* ci(action): try to run reactivecircus/android-emulator-runner against v2 tag
* ci(action): try ios-15.x w/ xcode-13 & macos-12
* ci(android): run all emulators on push and pull
  • Loading branch information
erisu committed May 15, 2024
1 parent c016dae commit dde696f
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 29 deletions.
42 changes: 33 additions & 9 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ on:
- '**.md'
- 'LICENSE'
- '.eslint*'

pull_request:
paths-ignore:
- '**.md'
Expand All @@ -32,15 +33,15 @@ on:
jobs:
test:
name: Android ${{ matrix.versions.android }} Test
runs-on: macos-latest
runs-on: ubuntu-latest
continue-on-error: true

# hoist configurations to top that are expected to be updated
env:
# Storing a copy of the repo
repo: ${{ github.event.pull_request.head.repo.full_name || github.repository }}

node-version: 16
node-version: 20

# These are the default Java configurations used by most tests.
# To customize these options, add "java-distro" or "java-version" to the strategy matrix with its overriding value.
Expand All @@ -56,38 +57,61 @@ jobs:
strategy:
matrix:
versions:
# Test the lowest minimum supported APIs
- android: 7
android-api: 24

# Test the last 3-4 supported APIs
- android: 7.1
android-api: 25

- android: 8
android-api: 26

- android: 8.1
android-api: 27
system-image-arch: x86

- android: 9
android-api: 28

- android: 10
android-api: 29

- android: 11
android-api: 30

- android: 12
android-api: 31

- android: 12L
android-api: 32

- android: 13
android-api: 33

- android: 14
android-api: 34

timeout-minutes: 60

steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ env.node-version }}
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
env:
java-version: ${{ matrix.versions.java-version == '' && env.default_java-version || matrix.versions.java-version }}
java-distro: ${{ matrix.versions.java-distro == '' && env.default_java-distro || matrix.versions.java-distro }}
with:
distribution: ${{ env.java-distro }}
java-version: ${{ env.java-version }}

- name: Enable KVM group perms
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Run Environment Information
run: |
node --version
Expand All @@ -105,7 +129,7 @@ jobs:
if: ${{ endswith(env.repo, '/cordova-paramedic') != true }}
run: npm i -g github:apache/cordova-paramedic

- uses: reactivecircus/android-emulator-runner@d94c3fbe4fe6a29e4a5ba47c12fb47677c73656b
- uses: reactivecircus/android-emulator-runner@v2
env:
system-image-arch: ${{ matrix.versions.system-image-arch == '' && env.default_system-image-arch || matrix.versions.system-image-arch }}
system-image-target: ${{ matrix.versions.system-image-target == '' && env.default_system-image-target || matrix.versions.system-image-target }}
Expand All @@ -119,7 +143,7 @@ jobs:
script: echo "Pregenerate the AVD before running Paramedic"

- name: Run paramedic tests
uses: reactivecircus/android-emulator-runner@d94c3fbe4fe6a29e4a5ba47c12fb47677c73656b
uses: reactivecircus/android-emulator-runner@v2
env:
system-image-arch: ${{ matrix.versions.system-image-arch == '' && env.default_system-image-arch || matrix.versions.system-image-arch }}
system-image-target: ${{ matrix.versions.system-image-target == '' && env.default_system-image-target || matrix.versions.system-image-target }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/chrome.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ jobs:
# Storing a copy of the repo
repo: ${{ github.event.pull_request.head.repo.full_name || github.repository }}

node-version: 16
node-version: 20

steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ env.node-version }}

Expand Down
24 changes: 10 additions & 14 deletions .github/workflows/ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
# Storing a copy of the repo
repo: ${{ github.event.pull_request.head.repo.full_name || github.repository }}

node-version: 16
node-version: 20

# > Starting April 26, 2021, all iOS and iPadOS apps submitted to the App Store must be built with Xcode 12 and the iOS 14 SDK.
# Because of Apple's requirement, listed above, We will only be using the latest Xcode release for testing.
Expand All @@ -50,28 +50,24 @@ jobs:
strategy:
matrix:
versions:
- os-version: macos-11
ios-version: 13.x
xcode-version: 11.x

- os-version: macos-11
ios-version: 14.x
xcode-version: 12.x

- os-version: macos-11
- os-version: macos-12
ios-version: 15.x
xcode-version: 13.x

- os-version: macos-12
- os-version: macos-14
ios-version: 16.x
xcode-version: 14.x

- os-version: macos-14
ios-version: 17.x
xcode-version: 15.x

steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ env.node-version }}
- uses: maxim-lobanov/setup-xcode@9a697e2b393340c3cacd97468baa318e4c883d98
- uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
env:
xcode-version: ${{ matrix.versions.xcode-version == '' && env.default_xcode-version || matrix.versions.xcode-version }}
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ jobs:
name: Lint Test
runs-on: ubuntu-latest
env:
node-version: 16
node-version: 20

steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ env.node-version }}

Expand Down
7 changes: 7 additions & 0 deletions conf/pr/local/android-14.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"platform": "android@latest",
"action": "run",
"cleanUpAfterRun": true,
"verbose": true,
"skipAppiumTests": true
}
7 changes: 7 additions & 0 deletions conf/pr/local/ios-17.x.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"platform": "ios@latest",
"action": "run",
"cleanUpAfterRun": true,
"target": "iPhone-15, 17.\\d$",
"verbose": true
}

0 comments on commit dde696f

Please sign in to comment.