Skip to content

refactor(cli): handle android keystore signing configs #4134

refactor(cli): handle android keystore signing configs

refactor(cli): handle android keystore signing configs #4134

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/[email protected]
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
mac_build:
name: macOS build
runs-on: macOS-13
timeout-minutes: 15
needs: lint
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/[email protected]
with:
node-version: 18.x
- name: webfactory/ssh-agent
uses: webfactory/[email protected]
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
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 ./bin/install.sh
./bin/ci_version_check.sh
env:
VERBOSE: 1
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: Upload build artifacts
uses: actions/upload-artifact@v3
with:
name: ssc_artifacts_macos
path: /Users/runner/.local/share/socket/
retention-days: 1
mac_tests:
name: macOS tests
runs-on: macOS-13
timeout-minutes: 15
needs: mac_build
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/[email protected]
with:
node-version: 18.x
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: ssc_artifacts_macos
path: /Users/runner/.local/share/socket/
- name: Link binary
run: |
sudo ln -sf /Users/runner/.local/share/socket/bin/ssc /usr/local/bin/ssc
chmod +x /usr/local/bin/ssc
- name: test a socket api example app
run: |
npm install && npm test
env:
CI: true
VERBOSE: 1
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
ios_macos_tests:
name: iOS (on macOS) tests
runs-on: macOS-13
timeout-minutes: 40
needs: mac_build
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/[email protected]
with:
node-version: 18.x
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: ssc_artifacts_macos
path: /Users/runner/.local/share/socket/
- name: Link binary
run: |
sudo ln -sf /Users/runner/.local/share/socket/bin/ssc /usr/local/bin/ssc
chmod +x /usr/local/bin/ssc
- 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_mac_tests:
name: Android (on macOS) tests
runs-on: macos-13
timeout-minutes: 30
needs: mac_build
steps:
- uses: actions/checkout@v3
- name: webfactory/ssh-agent
uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- 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: Download build artifacts
uses: actions/download-artifact@v3
with:
name: ssc_artifacts_macos
path: /Users/runner/.local/share/socket/
- name: Link binary
run: |
sudo ln -sf /Users/runner/.local/share/socket/bin/ssc /usr/local/bin/ssc
chmod +x /usr/local/bin/ssc
- 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 }}
linux_build:
name: Linux build
runs-on: ubuntu-latest-m
timeout-minutes: 20
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/[email protected]
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
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install -y gcc-12 g++-12 libpthread-stubs0-dev libwebkit2gtk-4.1-dev at-spi2-core
- 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 ./bin/install.sh
./bin/ci_version_check.sh
env:
CI: true
VERBOSE: 1
SSC_ANDROID_CI: true
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
name: ssc_artifacts_linux
path: /home/runner/.local/share/socket/
retention-days: 1
linux_tests:
name: Linux tests
runs-on: ubuntu-latest-m
timeout-minutes: 20
needs: linux_build
steps:
- uses: actions/checkout@v3
- name: install Socket Runtime deps
run: |
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install -y gcc-12 g++-12 libpthread-stubs0-dev libwebkit2gtk-4.1-dev at-spi2-core
- name: Use Node.js
uses: actions/[email protected]
with:
node-version: 18.x
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: ssc_artifacts_linux
path: /home/runner/.local/share/socket/
- name: Link binary
run: |
sudo ln -sf /home/runner/.local/share/socket/bin/ssc /usr/local/bin/ssc
chmod +x /usr/local/bin/ssc
- name: test a socket api example app
run: |
npm install && npm test
env:
CI: true
VERBOSE: 1
NODE_AUTH_TOKEN: ${{ secrets.PACKAGE_PAT }}
android_linux_tests:
name: Android (on Linux) tests
runs-on: ubuntu-latest-m
timeout-minutes: 30
needs: linux_build
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/[email protected]
with:
node-version: 18.x
- name: install Socket Runtime deps
run: |
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install -y gcc-12 g++-12 libpthread-stubs0-dev libwebkit2gtk-4.1-dev at-spi2-core
- name: Gradle cache
uses: gradle/[email protected]
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: Download build artifacts
uses: actions/download-artifact@v3
with:
name: ssc_artifacts_linux
path: /home/runner/.local/share/socket/
- name: Link binary
run: |
sudo ln -sf /home/runner/.local/share/socket/bin/ssc /usr/local/bin/ssc
chmod +x /usr/local/bin/ssc
- 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 }}
# TODO: add Android build and split build and tests into separate jobs
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
- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
name: ssc_artifacts_linux
path: /Users/runner/.local/share/socket/
retention-days: 1
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