chore(develop): release Mockzilla mobile ui libraries #972
This file contains hidden or 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: Combined Pull Request | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| jobs: | |
| setup: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| should_run: ${{ steps.should_run.outputs.should_run }} | |
| steps: | |
| - id: should_run | |
| run: | | |
| if [[ ${{ github.head_ref }} == *"release-please--branches"* ]]; then | |
| echo "should_run=false" >> $GITHUB_OUTPUT | |
| else | |
| echo "should_run=true" >> $GITHUB_OUTPUT | |
| fi | |
| filter: | |
| needs: [ setup ] | |
| if: needs.setup.outputs.should_run == 'true' | |
| runs-on: ubuntu-latest | |
| outputs: | |
| common-fastlane: ${{ steps.filter.outputs.common-fastlane }} | |
| common-kotlin: ${{ steps.filter.outputs.common-kotlin }} | |
| flutter: ${{ steps.filter.outputs.flutter }} | |
| docs: ${{ steps.filter.outputs.docs }} | |
| mockzilla-server: ${{ steps.filter.outputs.mockzilla-server }} | |
| mockzilla-management: ${{ steps.filter.outputs.mockzilla-management }} | |
| mockzilla-management-ui: ${{ steps.filter.outputs.mockzilla-management-ui }} | |
| swift-mockzilla: ${{ steps.filter.outputs.swift-mockzilla }} | |
| sample-ios: ${{ steps.filter.outputs.sample-ios }} | |
| sample-android: ${{ steps.filter.outputs.sample-android }} | |
| sample-kmm: ${{ steps.filter.outputs.sample-kmm }} | |
| swagger: ${{ steps.filter.outputs.swagger }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| filters: | | |
| common-fastlane: &common-fastlane | |
| - fastlane/Appfile | |
| - Gemfile | |
| - Gemfile.lock | |
| common-kotlin: &common-kotlin | |
| - *common-fastlane | |
| - build-logic/** | |
| - settings.gradle.kts | |
| - gradle.properties | |
| - build.gradle.kts | |
| - mockzilla-common/** | |
| - gradle/** | |
| flutter: | |
| - *common-fastlane | |
| - FlutterMockzilla/** | |
| - fastlane/fastfiles/flutter.rb | |
| docs: | |
| - *common-fastlane | |
| - docs/** | |
| - fastlane/fastfiles/docs.rb | |
| mockzilla-server: &mockzilla-server | |
| - *common-kotlin | |
| - mockzilla/** | |
| - fastlane/fastfiles/lib_pull_request.rb | |
| mockzilla-management: &mockzilla-management | |
| - *mockzilla-server | |
| - mockzilla-management/** | |
| mockzilla-management-ui: | |
| - *mockzilla-management | |
| - fastlane/fastfiles/management-ui.rb | |
| - mockzilla-management-ui/** | |
| swift-mockzilla: | |
| - *mockzilla-server | |
| - SwiftMockzilla/** | |
| sample-ios: | |
| - samples/demo-ios/** | |
| sample-android: | |
| - *mockzilla-server | |
| - samples/demo-android/** | |
| sample-kmm: | |
| - *mockzilla-server | |
| - samples/demo-kmm/** | |
| swagger: | |
| - webapi.yml | |
| docs: | |
| needs: filter | |
| if: needs.filter.outputs.docs == 'true' | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: 3.x | |
| - name: Setup fastlane | |
| run: bundle install | |
| - name: Generate Docs | |
| run: | | |
| pip install --upgrade setuptools | |
| pip install -r docs/requirements.txt | |
| bundle exec fastlane generate_docs | |
| flutter: | |
| needs: filter | |
| if: needs.filter.outputs.flutter == 'true' | |
| runs-on: macos-14 | |
| steps: | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '15.4.0' | |
| - uses: actions/checkout@v5 | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| flutter-version: '3.35.0' | |
| channel: 'stable' | |
| - name: Setup fastlane | |
| run: bundle install | |
| - name: Run Flutter Fastlane | |
| run: | | |
| bundle exec fastlane flutter_lib_pull_request | |
| bundle exec fastlane demo_flutter_pull_request | |
| mockzilla-server: | |
| needs: filter | |
| if: needs.filter.outputs.mockzilla-server == 'true' | |
| runs-on: macos-14 | |
| steps: | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '15.4.0' | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Setup fastlane | |
| run: bundle install | |
| - name: Build Mockzilla Server | |
| run: | | |
| bundle exec fastlane android lib_mockzilla_pull_request | |
| bundle exec fastlane ios lib_mockzilla_pull_request | |
| bundle exec fastlane js lib_mockzilla_pull_request | |
| bundle exec fastlane publish_to_maven_local | |
| mockzilla-management: | |
| needs: filter | |
| if: needs.filter.outputs.mockzilla-management == 'true' | |
| runs-on: macos-14 | |
| steps: | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '15.4.0' | |
| - uses: actions/checkout@v5 | |
| - name: Setup fastlane | |
| run: bundle install | |
| - name: Build Management Library | |
| run: bundle exec fastlane lib_mockzilla_management_pull_request | |
| mockzilla-management-ui: | |
| needs: filter | |
| if: needs.filter.outputs.mockzilla-management-ui == 'true' | |
| runs-on: macos-14 | |
| steps: | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '15.4.0' | |
| - uses: actions/checkout@v5 | |
| - name: Setup fastlane | |
| run: bundle install | |
| - name: Build Management UI | |
| run: bundle exec fastlane management_ui_pull_request | |
| swift-mockzilla: | |
| needs: filter | |
| if: needs.filter.outputs.swift-mockzilla == 'true' | |
| runs-on: macos-14 | |
| steps: | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '15.4.0' | |
| - uses: actions/checkout@v5 | |
| - name: Setup fastlane | |
| run: bundle install | |
| - name: Build SwiftMockzilla | |
| run: bundle exec fastlane ios lib_swift_mockzilla_pull_request | |
| sample-android: | |
| needs: filter | |
| if: needs.filter.outputs.sample-android == 'true' | |
| runs-on: macos-14 | |
| steps: | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '15.4.0' | |
| - uses: actions/checkout@v5 | |
| - name: Setup fastlane | |
| run: bundle install | |
| - name: Build Sample Android | |
| run: bundle exec fastlane android demo_android_pull_request | |
| sample-ios: | |
| needs: filter | |
| if: needs.filter.outputs.sample-ios == 'true' | |
| runs-on: macos-14 | |
| steps: | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '15.4.0' | |
| - uses: actions/checkout@v5 | |
| - name: Setup fastlane | |
| run: bundle install | |
| - name: Build Sample iOS | |
| run: bundle exec fastlane ios demo_ios_pull_request | |
| sample-kmm-ios: | |
| needs: filter | |
| if: needs.filter.outputs.sample-kmm == 'true' | |
| runs-on: macos-14 | |
| steps: | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '15.4.0' | |
| - uses: actions/checkout@v5 | |
| - name: Setup fastlane | |
| run: bundle install | |
| - name: Build Sample KMM | |
| run: | | |
| bundle exec fastlane ios demo_kmm_pull_request | |
| sample-kmm-android: | |
| needs: filter | |
| if: needs.filter.outputs.sample-kmm == 'true' | |
| runs-on: macos-14 | |
| steps: | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '15.4.0' | |
| - uses: actions/checkout@v5 | |
| - name: Setup fastlane | |
| run: bundle install | |
| - name: Build Sample KMM | |
| run: | | |
| bundle exec fastlane android demo_kmm_pull_request | |
| swagger: | |
| needs: filter | |
| if: needs.filter.outputs.swagger == 'true' | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Validate Swagger | |
| uses: mbowman100/[email protected] | |
| with: | |
| files: webapi.yaml | |
| env: | |
| PR: true |