Skip to content

chore(config): more docs #1840

chore(config): more docs

chore(config): more docs #1840

Workflow file for this run

name: Socket CI
on: [push]
jobs:
linux:
name: Linux
runs-on: ubuntu-22.04
timeout-minutes: 6
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 ./bin/install.sh
./bin/ci_version_check.sh
- name: test a socket api example app
run: |
npm install && npm test
env:
CI: true
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
mac:
name: macOS
runs-on: macOS-12
timeout-minutes: 9
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 ./bin/install.sh
./bin/ci_version_check.sh
- name: test a socket api example app
run: |
npm install && npm test
env:
CI: true
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
windows:
name: Windows
runs-on: windows-2022
timeout-minutes: 10
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
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
ios:
name: iOS (macOS)
runs-on: macOS-12
timeout-minutes: 25
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 ./bin/install.sh
./bin/ci_version_check.sh
- name: test a socket api example app
# remove this line if you want to test the Android build on macOS
if: ${{ false }}
run: |
npm install && npm run test:ios-simulator
env:
CI: true
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
android_macos:
name: Android (macOS)
runs-on: macos-latest
timeout-minutes: 60
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: 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: Gradle cache
uses: gradle/gradle-build-action@v2
with:
gradle-version: 7.6.1
- 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 ./bin/install.sh
./bin/ci_version_check.sh
env:
CI: true
SSC_ANDROID_CI: true
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
- name: AVD cache
uses: actions/cache@v3
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-33
- name: create AVD and generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 33
arch: x86_64
disable-animations: false
emulator-boot-timeout: 1200
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
force-avd-creation: false
ndk: 25.0.8775105
profile: pixel_5
target: google_apis
script: echo "Generated AVD snapshot for caching."
env:
CI: true
SSC_ANDROID_CI: true
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
- name: Run emulator tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 33
arch: x86_64
disable-animations: false
emulator-boot-timeout: 1200
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
force-avd-creation: false
ndk: 25.0.8775105
profile: pixel_5
target: google_apis
script: |
./bin/ci_version_check.sh
npm install
ANDROID_SUPPORTED_ABIS="x86_64" npm run test:android
env:
CI: true
SSC_ANDROID_CI: true
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
android_linux:
name: Android (Linux)
runs-on: ubuntu-22.04
timeout-minutes: 60
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
with:
gradle-version: 7.6.1
- 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 ./bin/install.sh
./bin/ci_version_check.sh
env:
CI: true
SSC_ANDROID_CI: true
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
- name: compile socket app
run: |
cd test && ssc build --prod --headless --platform=android
env:
CI: true
CXX: clang++
SSC_ANDROID_CI: true
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
socket_node:
name: socket-node tests
runs-on: ubuntu-22.04
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