From 908ad4ce8d5742459b00b39616aedf61a8d4ab54 Mon Sep 17 00:00:00 2001 From: Enrique Gonzalez Paredes Date: Thu, 23 Jan 2025 13:23:50 +0100 Subject: [PATCH] WIP --- .github/workflows/daily-ci.yml | 124 +++++++++++---------------------- 1 file changed, 40 insertions(+), 84 deletions(-) diff --git a/.github/workflows/daily-ci.yml b/.github/workflows/daily-ci.yml index 6722c137a5..3026a3dadd 100644 --- a/.github/workflows/daily-ci.yml +++ b/.github/workflows/daily-ci.yml @@ -16,40 +16,42 @@ jobs: daily-ci: strategy: matrix: - dependencies-factor: ["lowest-direct", "highest"] - module-factor: ["cartesian", "eve", "next", "storage"] + dependencies-factor: ["lowest-direct"] #, "highest"] + module-factor: ["docs"] #""cartesian", "docs", "eve", "next", "storage"] os: ["ubuntu-latest"] #, "macos-latest"] - python-version: ["3.10", "3.11"] + python-version: ["3.10"] #, "3.11"] fail-fast: false - runs-on: ${{ matrix.os }} + # runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest steps: + - uses: actions/checkout@v4 - - name: Get day of the week - id: day_of_the_week - run: echo "{day_of_the_week}={$(date +'%u')}" >> $GITHUB_STATE + - name: Install C++ libraries + if: ${{ matrix.os == 'macos-latest' }} + shell: bash + run: brew install boost - - name: Weekly notification - env: - SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} - uses: slackapi/slack-github-action@v1.23.0 + - name: Install C++ libraries + if: ${{ matrix.os == 'ubuntu-latest' }} + shell: bash + run: sudo apt install libboost-dev + + - name: Install uv and set the python version + uses: astral-sh/setup-uv@v5 with: - channel-id: ${{ vars.SLACK_BOT_CHANNEL_TEST }} - payload: | - { - "blocks": [ - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "Weekly reminder to check the latest runs of the workflow at the ." - } - } - ] - } + enable-cache: true + cache-dependency-glob: "uv.lock" + python-version: ${{ matrix.python-version }} - - name: Test with environment variables - if: ${{ env.day_of_the_week == '3' }} + - name: Run CPU tests for '${{ matrix.module-factor }}' with '${{ matrix.dependencies-factor }}' resolution strategy + env: + NUM_PROCESSES: auto + UV_RESOLUTION: ${{ matrix.dependencies-factor }} + run: uv run nox -s 'test_${{ matrix.module-factor }}-${{ matrix.python-version }}' -t 'cpu' + + - name: Notify slack + if: ${{ failure() }} env: SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} uses: slackapi/slack-github-action@v1.23.0 @@ -57,86 +59,40 @@ jobs: channel-id: ${{ vars.SLACK_BOT_CHANNEL_TEST }} payload: | { + "text": "Failed tests for ${{ github.workflow }} with (component='${{ matrix.module-factor }} (CPU)', python='${{ matrix.python-version }}, [https://github.com/GridTools/gt4py/actions/runs/${{ github.run_id }}].", "blocks": [ { "type": "section", "text": { "type": "mrkdwn", - "text": "if3 Weekly reminder to check the latest runs of the workflow at the ." + "text": "Failed tests: " } } ] } - - - name: Test not - if: ${{ env.day_of_the_week != '3' }} + + - id: get_day_of_the_week + name: Get day of the week + run: echo "day_of_week=$(date +'%u')" >> $GITHUB_OUTPUT + + - name: Weekly notification + if: "env.DAY_OF_WEEK == 4" env: + DAY_OF_WEEK: ${{ steps.get_day_of_the_week.outputs.day_of_week }} SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} uses: slackapi/slack-github-action@v1.23.0 with: channel-id: ${{ vars.SLACK_BOT_CHANNEL_TEST }} payload: | { + "text": "Weekly reminder to check the latest runs of the GT4Py Daily CI workflow at the GitHub Actions dashboard [https://github.com/GridTools/gt4py/actions/workflows/daily-ci.yml].", "blocks": [ { "type": "section", "text": { "type": "mrkdwn", - "text": "ifnot3 Weekly reminder to check the latest runs of the workflow at the ." + "text": "Weekly reminder to check the latest runs of the workflow at the GitHub Actions dashboard." } } ] } - - - - # - uses: actions/checkout@v4 - - # - name: Install C++ libraries - # if: ${{ matrix.os == 'macos-latest' }} - # shell: bash - # run: brew install boost - - # - name: Install C++ libraries - # if: ${{ matrix.os == 'ubuntu-latest' }} - # shell: bash - # run: sudo apt install libboost-dev - - # - name: Install uv and set the python version - # uses: astral-sh/setup-uv@v5 - # with: - # enable-cache: true - # cache-dependency-glob: "uv.lock" - # python-version: ${{ matrix.python-version }} - - # - name: Run CPU tests for '${{ matrix.module-factor }}' with '${{ matrix.dependencies-factor }}' resolution strategy - # env: - # NUM_PROCESSES: auto - # UV_RESOLUTION: ${{ matrix.dependencies-factor }} - # run: uv run nox -s 'test_${{ matrix.module-factor }}-${{ matrix.python-version }}' -t 'cpu' - - - # - name: Notify slack - # #if: ${{ failure() }} - # env: - # SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} - # uses: slackapi/slack-github-action@v1.23.0 - # with: - # channel-id: ${{ vars.SLACK_BOT_CHANNEL_TEST }} - # # payload: | - # # { - # # "text": "${{ github.workflow }}: Daily CI: '**${{ matrix.module-factor }} (CPU)** for **Python-${{ matrix.python-version }}**>: *Failed tests!*" - # # } - # payload: | - # { - # "text": "${{ github.workflow }}: Daily CI: '**${{ matrix.module-factor }} (CPU)** for **Python-${{ matrix.python-version }}**: *Failed tests!*", - # "blocks": [ - # { - # "type": "section", - # "text": { - # "type": "mrkdwn", - # "text": ": *Failed tests!*" - # } - # } - # ] - # }