Skip to content

chore(CI): increase CI timeout for macOS #2720

chore(CI): increase CI timeout for macOS

chore(CI): increase CI timeout for macOS #2720

Workflow file for this run

name: Socket CI
on: [push]
jobs:
lint:
name: Lint
runs-on: ubuntu-22.04
timeout-minutes: 3
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3.6.0
with:
node-version: 18.x
- name: Lint
run: npm install && npm run test:lint
- name: Check docs and TS definitions
run: |
npm run gen
./bin/ci_changes_check.sh
linux:
name: Linux
runs-on: ubuntu-latest-m
timeout-minutes: 9
needs: lint
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3.6.0
with:
node-version: 18.x
- name: webfactory/ssh-agent
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Install Socket Runtime deps
run: |
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install gcc-12 g++-12 clang-14 libwebkit2gtk-4.1-dev
- name: Build Socket Runtime
run: |
VERBOSE=1 NO_DOC_GEN=1 ./bin/install.sh
./bin/ci_version_check.sh
- name: test a socket api example app
run: |
npm install && npm test
env:
CI: true
VERBOSE: 1
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
mac:
name: macOS
runs-on: macOS-13
timeout-minutes: 12
needs: lint
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3.6.0
with:
node-version: 18.x
- name: webfactory/ssh-agent
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: install Socket Runtime deps
run: |
brew install automake
- name: Build Socket Runtime
run: |
VERBOSE=1 NO_DOC_GEN=1 ./bin/install.sh
./bin/ci_version_check.sh
- name: test a socket api example app
run: |
npm install && npm test
env:
CI: true
VERBOSE: 1
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
windows:
name: Windows
runs-on: windows-latest
timeout-minutes: 20
needs: lint
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.inputs.tag }}
# The webfactory/ssh-agent module does not work on Windows anymore
# I do not recommend touching this SSH stuff, i spend two days
# tweaking it just to get it to work on windows -.-
- name: Configure SSH
run: Set-Service ssh-agent -StartupType Manual
- name: Start SSH
run: Start-Service ssh-agent
- name: Add SSH key
run: echo $env:SSH_PRIVATE_KEY | ssh-add -
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Add github.com to known_hosts
run: |
mkdir ~/.ssh
ssh-keyscan github.com >> ~/.ssh/known_hosts
- name: build Socket Runtime
run: |
./bin/install.ps1 -verbose
echo "::add-path::$env:LOCALAPPDATA\Programs\socketsupply\bin"
echo "$env:LOCALAPPDATA\Programs\socketsupply\bin" >> $env:GITHUB_PATH
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
- name: Check if ssc has a correct version
run: |
./bin/ci_version_check.ps1
- name: install an example app
run: |
npm install && npm test
env:
CI: true
VERBOSE: 1
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
GITHUB_ACTIONS_CI: 1
ios:
name: iOS (macOS)
runs-on: macOS-13
timeout-minutes: 25
needs: lint
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3.6.0
with:
node-version: 18.x
- name: webfactory/ssh-agent
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: install Socket Runtime deps
run: |
brew install automake
- name: Build Socket Runtime
run: |
VERBOSE=1 NO_DOC_GEN=1 ./bin/install.sh
./bin/ci_version_check.sh
- name: test a socket api example app
run: |
npm install && npm run test:ios-simulator
env:
CI: true
VERBOSE: 1
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
android_macos:
name: Android (macOS)
runs-on: macos-13
timeout-minutes: 60
needs: lint
steps:
- uses: actions/checkout@v3
- name: webfactory/ssh-agent
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: install Socket Runtime deps
run: |
brew install automake
- name: Android FTE
run: |
./bin/android-functions.sh --android-fte --yes-deps
env:
VERBOSE: 1
DEBUG: 1
NO_IOS: 1
CI: true
SSC_ANDROID_CI: true
# Clear variables because CI supplied installs are out of date
ANDROID_HOME:
JAVA_HOME:
ANDROID_SUPPORTED_ABIS: x86_64
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
- name: Build Socket Runtime
run: |
VERBOSE=1 NO_DOC_GEN=1 ./bin/install.sh
./bin/ci_version_check.sh
env:
VERBOSE: 1
NO_IOS: true
CI: true
SSC_ANDROID_CI: true
# Clear variables because CI supplied installs are out of date
ANDROID_HOME:
ANDROID_SUPPORTED_ABIS: x86_64
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
- name: Run emulator tests
run: |
npm install
npm run test:android-emulator
env:
VERBOSE: 1
NO_IOS: 1
CI: 1
SSC_ANDROID_CI: true
ANDROID_SUPPORTED_ABIS: x86_64
# Clear variables because CI supplied installs are out of date
ANDROID_HOME:
JAVA_HOME:
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
android_linux:
name: Android (Linux)
runs-on: ubuntu-latest-m
timeout-minutes: 60
needs: lint
steps:
- uses: actions/checkout@v3
- name: Set up JDK 18
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 18
- name: Setup Android SDK
uses: android-actions/setup-android@v2
- name: webfactory/ssh-agent
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.x
- name: install Socket Runtime deps
run: |
sudo apt install software-properties-common at-spi2-core
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install -y gcc-12 g++-12 libpthread-stubs0-dev libwebkit2gtk-4.1-dev
- name: Gradle cache
uses: gradle/gradle-build-action@v2.4.2
with:
gradle-version: 7.6.1
- name: Android FTE
run: |
./bin/android-functions.sh --android-fte --yes-deps
env:
VERBOSE: 1
DEBUG: 1
CI: true
SSC_ANDROID_CI: true
# Clear variables because CI supplied installs are out of date
ANDROID_HOME:
JAVA_HOME:
ANDROID_SUPPORTED_ABIS: x86_64
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
- name: Build Socket Runtime
run: |
yes | sdkmanager --licenses > /dev/null
sdkmanager --install 'ndk;25.0.8775105' 'build-tools;33.0.2' 'system-images;android-33;google_apis;x86_64'
VERBOSE=1 NO_DOC_GEN=1 ./bin/install.sh
./bin/ci_version_check.sh
env:
CI: true
VERBOSE: 1
SSC_ANDROID_CI: true
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
- name: Run emulator tests
run: |
npm install
npm run test:android-emulator
env:
VERBOSE: 1
NO_IOS: 1
CI: 1
SSC_ANDROID_CI: true
ANDROID_SUPPORTED_ABIS: x86_64
# Clear variables because CI supplied installs are out of date
ANDROID_HOME:
JAVA_HOME:
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
socket_node:
name: socket-node tests
runs-on: ubuntu-latest-m
timeout-minutes: 2
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: npm test
run: |
cd npm/packages/@socketsupply/socket-node
npm i
npm test