name: Browser Lane on: workflow_dispatch: schedule: - cron: '43 4 * * 1-5' jobs: browser: if: ${{ github.event_name != 'schedule' || vars.TENANTATLAS_ENABLE_BROWSER_SCHEDULE == '1' }} runs-on: ubuntu-latest env: SAIL_TTY: 'false' steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up PHP uses: shivammathur/setup-php@v2 with: php-version: '8.4' coverage: none tools: composer:v2 - name: Install platform dependencies run: | cd apps/platform if [[ ! -f .env ]]; then cp .env.example .env fi composer install --no-interaction --prefer-dist --optimize-autoloader - name: Boot Sail run: | cd apps/platform ./vendor/bin/sail up -d ./vendor/bin/sail artisan key:generate --force --no-interaction - name: Resolve Browser context id: context run: | if [[ "${{ github.event_name }}" == "schedule" ]]; then echo "workflow_id=browser-scheduled" >> "$GITHUB_OUTPUT" echo "trigger_class=scheduled" >> "$GITHUB_OUTPUT" else echo "workflow_id=browser-manual" >> "$GITHUB_OUTPUT" echo "trigger_class=manual" >> "$GITHUB_OUTPUT" fi - name: Run Browser lane run: ./scripts/platform-test-lane browser --workflow-id=${{ steps.context.outputs.workflow_id }} --trigger-class=${{ steps.context.outputs.trigger_class }} - name: Refresh Browser report if: always() run: ./scripts/platform-test-report browser --workflow-id=${{ steps.context.outputs.workflow_id }} --trigger-class=${{ steps.context.outputs.trigger_class }} - name: Stage Browser artifacts if: always() run: ./scripts/platform-test-artifacts browser .gitea-artifacts/browser --workflow-id=${{ steps.context.outputs.workflow_id }} --trigger-class=${{ steps.context.outputs.trigger_class }} - name: Upload Browser artifacts if: always() uses: actions/upload-artifact@v4 with: name: browser-artifacts path: .gitea-artifacts/browser if-no-files-found: error - name: Stop Sail if: always() run: | cd apps/platform ./vendor/bin/sail stop