MAS Studio Monitor #14647
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: MAS Studio Monitor | |
| on: | |
| schedule: | |
| - cron: '*/15 * * * *' # Executes every 15 minutes | |
| # Prevent multiple runs from happening at the same time | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| platform_matrix: | |
| if: ${{ github.event.repository.fork == false }} # Only run on the main repository | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: [20.x] | |
| name: Running Studio Monitor Nala tests | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 # Prevent hanging jobs | |
| env: | |
| WORKFLOW_NAME: 'Studio Montor' | |
| DAILY_RUN: 'true' | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 2 | |
| - name: Set up Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: 'npm' | |
| cache-dependency-path: | | |
| **/package-lock.json | |
| **/yarn.lock | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Cache Playwright browsers | |
| uses: actions/cache@v4 | |
| id: playwright-cache | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: playwright-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**/playwright.config.js') }} | |
| - name: Install Playwright dependencies | |
| if: steps.playwright-cache.outputs.cache-hit != 'true' | |
| run: npx playwright install --with-deps | |
| - name: Set execute permission for gh.run.sh | |
| run: chmod +x ./nala/utils/gh.run.sh | |
| - name: Run Studio Monitor Nala tests with gh.run.sh | |
| run: ./nala/utils/gh.run.sh | |
| env: | |
| labels: '@monitor' | |
| GITHUB_ACTION_PATH: ${{ github.workspace }} | |
| IMS_EMAIL: ${{ secrets.IMS_EMAIL }} | |
| IMS_PASS: ${{ secrets.IMS_PASS }} | |
| - name: Persist JSON Artifact | |
| uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: test-results | |
| path: test-results | |
| retention-days: 30 |