From aae1da9202051f18d184a21e9c8dadab7d43269c Mon Sep 17 00:00:00 2001 From: eugene_matsyuk Date: Thu, 5 Sep 2024 18:45:24 +0300 Subject: [PATCH] fix: download files in any case, correct handling of ignoreTestFailures, ci --- .github/workflows/ci.yaml | 123 ++++++++++++++++++++++++++ .github/workflows/manual_trigger.yaml | 55 ------------ README.md | 2 +- action.yaml | 2 +- example/appTestFailed.apk | Bin 0 -> 32841 bytes 5 files changed, 125 insertions(+), 57 deletions(-) create mode 100644 .github/workflows/ci.yaml delete mode 100644 .github/workflows/manual_trigger.yaml create mode 100644 example/appTestFailed.apk diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..17f46c0 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,123 @@ +name: "CI Workflow" + +on: + workflow_dispatch: + pull_request: + +jobs: + check_simple_android: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Run tests + uses: ./ + with: + apiKey: ${{ secrets.MARATHON_CLOUD_API_TOKEN }} + application: "example/app.apk" + testApplication: "example/appTest.apk" + platform: android + name: "android_3_0" + version: "1.0.30" + + check_output_android: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Run tests + uses: ./ + with: + apiKey: ${{ secrets.MARATHON_CLOUD_API_TOKEN }} + application: "example/app.apk" + testApplication: "example/appTest.apk" + platform: android + name: "android_3_0" + output: "output" + version: "1.0.30" + + - name: Check if output folder exists and is not empty + run: | + if [ -d "output" ] && [ "$(ls -A output)" ]; then + echo "Output folder exists and is not empty." + else + echo "Output folder does not exist or is empty." + exit 1 + fi + + - name: Upload artifact + uses: actions/upload-artifact@v2 + with: + name: output_android + path: output + + check_failed_android: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Run tests + uses: ./ + with: + apiKey: ${{ secrets.MARATHON_CLOUD_API_TOKEN }} + application: "example/app.apk" + testApplication: "example/appTestFailed.apk" + platform: android + name: "android_3_0" + output: "output" + version: "1.0.30" + ignoreTestFailures: "true" + + - name: Check if output folder exists and is not empty + run: | + if [ -d "output" ] && [ "$(ls -A output)" ]; then + echo "Output folder exists and is not empty." + else + echo "Output folder does not exist or is empty." + exit 1 + fi + + - name: Upload artifact + uses: actions/upload-artifact@v2 + with: + name: output_android + path: output + + check_ios: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Run tests parallel + uses: ./ + with: + apiKey: ${{ secrets.MARATHON_CLOUD_API_TOKEN }} + application: "example/sample.zip" + testApplication: "example/sampleUITests-Runner.zip" + platform: ios + name: "ios_3_0" + output: "output" + version: "1.0.30" + + - name: Check if output folder exists and is not empty + run: | + if [ -d "output" ] && [ "$(ls -A output)" ]; then + echo "Output folder exists and is not empty." + else + echo "Output folder does not exist or is empty." + exit 1 + fi + + - name: Upload artifact + uses: actions/upload-artifact@v2 + with: + name: output_ios + path: output diff --git a/.github/workflows/manual_trigger.yaml b/.github/workflows/manual_trigger.yaml deleted file mode 100644 index 25d11d4..0000000 --- a/.github/workflows/manual_trigger.yaml +++ /dev/null @@ -1,55 +0,0 @@ -name: "Manual Trigger Workflow" - -on: - workflow_dispatch: - -jobs: - build_android: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Run tests - uses: ./ - with: - apiKey: ${{ secrets.MARATHON_CLOUD_API_TOKEN }} - application: "example/app.apk" - testApplication: "example/appTest.apk" - platform: android - name: "android_3_0" - output: "output" - outputGlob: "tests/**" - version: "1.0.16" - - - name: Upload artifact - uses: actions/upload-artifact@v2 - with: - name: output - path: output - - build_ios: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Run tests parallel - uses: ./ - with: - apiKey: ${{ secrets.MARATHON_CLOUD_API_TOKEN }} - application: "example/sample.zip" - testApplication: "example/sampleUITests-Runner.zip" - platform: ios - name: "ios_3_0" - output: "output2" - outputGlob: "tests/**" - version: "1.0.16" - - - name: Upload artifact parallel - uses: actions/upload-artifact@v2 - with: - name: output2 - path: output2 diff --git a/README.md b/README.md index c2f5b3b..b1eed55 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ jobs: - name: Build app run: ./gradlew assembleDebug assembleAndroidTest - name: Run tests - uses: MarathonLabs/action-test@1.0.10 + uses: MarathonLabs/action-test@1.0.11 with: apiKey: ${{ secrets.MARATHON_CLOUD_API_TOKEN }} application: app/build/outputs/apk/debug/app-debug.apk diff --git a/action.yaml b/action.yaml index ad99745..e2dc4ed 100644 --- a/action.yaml +++ b/action.yaml @@ -81,7 +81,7 @@ runs: with: version: ${{ inputs.version }} - name: Run tests using marathon-cloud - uses: MarathonLabs/action-invoke@1.0.8 + uses: MarathonLabs/action-invoke@1.0.9 with: apiKey: ${{ inputs.apiKey }} application: ${{ inputs.application }} diff --git a/example/appTestFailed.apk b/example/appTestFailed.apk new file mode 100644 index 0000000000000000000000000000000000000000..293e7cc4e94360893accaf87bafbfd6e5c5d2c14 GIT binary patch literal 32841 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%0Awn%1)o;nAOrLG08E>YUhbL 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 literal 0 HcmV?d00001