ci: ci workflow was added #2
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: "CI Workflow" | |
on: | |
workflow_dispatch: | |
pull_request: | |
jobs: | |
check_simple_android: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: "16" | |
- name: Install dependencies | |
run: npm install | |
- name: Check if original lib/index.js exists and back it up | |
run: | | |
if [ -f "lib/index.js" ]; then | |
cp lib/index.js lib/index.original.js | |
echo "Original lib/index.js backed up." | |
else | |
echo "Original lib/index.js not found. Failing the job." | |
exit 1 # Fail the job if the original file is not found | |
fi | |
- name: Build TypeScript | |
run: npm run build | |
- name: Compare lib/index.js with the original | |
run: | | |
if [ -f "lib/index.original.js" ]; then | |
if diff lib/index.js lib/index.original.js > /dev/null; then | |
echo "No changes detected in lib/index.js." | |
else | |
echo "Changes detected in lib/index.js." | |
exit 1 # Fail the job if differences are found | |
fi | |
else | |
echo "Original lib/index.js backup not found, skipping comparison." | |
exit 1 # Fail if the backup is somehow missing at this point | |
fi | |
- name: Setup Marathon Cloud | |
uses: MarathonLabs/setup-marathon-cloud@2.0.1 | |
with: | |
version: "1.0.30" | |
- name: Run Marathon Cloud action-invoke | |
uses: ./ | |
with: | |
apiKey: ${{ secrets.RUN_TOKEN }} | |
application: "example/app.apk" | |
testApplication: "example/appTest.apk" | |
platform: "android" | |
name: "android_3_0" | |
check_output_android: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: "16" | |
- name: Install dependencies | |
run: npm install | |
- name: Build TypeScript | |
run: npm run build | |
- name: Setup Marathon Cloud | |
uses: MarathonLabs/setup-marathon-cloud@2.0.1 | |
with: | |
version: "1.0.30" | |
- name: Run Marathon Cloud action-invoke | |
uses: ./ | |
with: | |
apiKey: ${{ secrets.RUN_TOKEN }} | |
application: "example/app.apk" | |
testApplication: "example/appTest.apk" | |
platform: "android" | |
name: "android_3_0" | |
output: "output" | |
- 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 | |
if: always() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ios_output | |
path: output | |
check_output_failed_android: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: "16" | |
- name: Install dependencies | |
run: npm install | |
- name: Build TypeScript | |
run: npm run build | |
- name: Setup Marathon Cloud | |
uses: MarathonLabs/setup-marathon-cloud@2.0.1 | |
with: | |
version: "1.0.30" | |
- name: Run Marathon Cloud action-invoke | |
uses: ./ | |
with: | |
apiKey: ${{ secrets.RUN_TOKEN }} | |
application: "example/app.apk" | |
testApplication: "example/appTestFailed.apk" | |
platform: "android" | |
name: "android_3_0" | |
output: "output" | |
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 | |
if: always() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ios_output | |
path: output | |
check_ios: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: "16" | |
- name: Install dependencies | |
run: npm install | |
- name: Build TypeScript | |
run: npm run build | |
- name: Setup Marathon Cloud | |
uses: MarathonLabs/setup-marathon-cloud@2.0.1 | |
with: | |
version: "1.0.30" | |
- name: Run Marathon Cloud action-invoke | |
uses: ./ | |
with: | |
apiKey: ${{ secrets.RUN_TOKEN }} | |
application: "example/sample.zip" | |
testApplication: "example/sampleUITests-Runner.zip" | |
platform: "ios" | |
name: "ios_3_0" | |
output: "output" | |
- 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 | |
if: always() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ios_output | |
path: output |