[Test Draft] Test Saucelabs with latest credentials and vars #1020
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |