Skip to content

[Test Draft] Test Saucelabs with latest credentials and vars #1020

[Test Draft] Test Saucelabs with latest credentials and vars

[Test Draft] Test Saucelabs with latest credentials and vars #1020

Workflow file for this run

name: Continuous Integration
on:
push:
branches: [main]
pull_request:
jobs:
full-build:
runs-on: macos-12
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Full Build
run: ./fullbuild.sh
- name: Smoke Test
run: ./smoketest.sh
- name: Upload coverage to Codecov
uses: codecov/[email protected]
xcframework:
runs-on: macos-12
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Print Swift version
run: swift --version
- name: Build xcframework
working-directory: ./SplunkRumWorkspace/SplunkRum
run: ./build_binaries.sh
- name: Upload xcframework
uses: actions/[email protected]
with:
name: SplunkOtel.xcframework
path: ./SplunkRumWorkspace/SplunkRum/xcframeworks/SplunkOtel.xcframework
saucelabs-prepare:
runs-on: macOS-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.8'
- name: Build for Sauce Labs
run: |
BUILD_FOLDER="work/splunk-otel-ios/splunk-otel-ios/SauceLabsTests"
BUILD_PATH="Build/Products/Debug-iphonesimulator"
xcodebuild -showsdks
xcodebuild -workspace SplunkRumWorkspace/SplunkRumWorkspace.xcworkspace \
-scheme SauceLabsTestApp \
-configuration Debug \
-sdk iphonesimulator \
-derivedDataPath SauceLabsTests
zip ${GITHUB_WORKSPACE}/SauceLabsTestApp.zip $(find ~/$BUILD_FOLDER/$BUILD_PATH/SauceLabsTestApp.app -type f)
- name: Upload test app to Sauce Labs
id: sl-upload
run: |
cd /Users/runner/work/splunk-otel-ios/splunk-otel-ios/
item_id=$(curl -u "${{secrets.SAUCE_USERNAME}}:${{secrets.SAUCE_ACCESS_KEY}}" --location \
--request POST 'https://api.us-west-1.saucelabs.com/v1/storage/upload' \
--form 'payload=@"SauceLabsTestApp.zip"' \
--form 'name="SauceLabsTestApp.zip"' \
--form 'description="'"$GITHUB_SHA"'"' | jq -r .item.id)
echo "sl_file_id=$item_id" >> $GITHUB_OUTPUT
outputs:
sl_file_id: ${{ steps.sl-upload.outputs.sl_file_id }}
saucelabs-tests:
runs-on: macOS-latest
needs: saucelabs-prepare
strategy:
fail-fast: false
matrix:
os: ['14', '15', '16']
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.8'
- name: Run Sauce Labs test cases
working-directory: SplunkRumWorkspace
env:
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
GITHUB_TOKEN: ${{ github.token }}
run: |
cd SauceLabsTestApp/
python3 -m pip install Appium-Python-Client==2.11.1
python3 sl_tests.py ${{ matrix.os }} ${{ needs.saucelabs-prepare.outputs.sl_file_id }}
check_links:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Link Checker
uses: lycheeverse/[email protected]
with:
fail: true