IRIS-FLOWER-CLASSIFICATION-using-machine-learning-models
/
transformers
/.github
/workflows
/slack-report.yml
| name: CI slack report | |
| on: | |
| workflow_call: | |
| inputs: | |
| job: | |
| required: true | |
| type: string | |
| slack_report_channel: | |
| required: true | |
| type: string | |
| setup_status: | |
| required: true | |
| type: string | |
| folder_slices: | |
| required: true | |
| type: string | |
| jobs: | |
| send_results: | |
| name: Send results to webhook | |
| runs-on: ubuntu-22.04 | |
| if: always() | |
| steps: | |
| - name: Preliminary job status | |
| shell: bash | |
| # For the meaning of these environment variables, see the job `Setup` | |
| run: | | |
| echo "Setup status: ${{ inputs.setup_status }}" | |
| - uses: actions/checkout@v3 | |
| - uses: actions/download-artifact@v3 | |
| - name: Send message to Slack | |
| env: | |
| CI_SLACK_BOT_TOKEN: ${{ secrets.CI_SLACK_BOT_TOKEN }} | |
| CI_SLACK_CHANNEL_ID: ${{ secrets.CI_SLACK_CHANNEL_ID }} | |
| CI_SLACK_CHANNEL_ID_DAILY: ${{ secrets.CI_SLACK_CHANNEL_ID_DAILY }} | |
| CI_SLACK_CHANNEL_DUMMY_TESTS: ${{ secrets.CI_SLACK_CHANNEL_DUMMY_TESTS }} | |
| SLACK_REPORT_CHANNEL: ${{ inputs.slack_report_channel }} | |
| ACCESS_REPO_INFO_TOKEN: ${{ secrets.ACCESS_REPO_INFO_TOKEN }} | |
| CI_EVENT: scheduled | |
| CI_SHA: ${{ github.sha }} | |
| CI_WORKFLOW_REF: ${{ github.workflow_ref }} | |
| CI_TEST_JOB: ${{ inputs.job }} | |
| SETUP_STATUS: ${{ inputs.setup_status }} | |
| # We pass `needs.setup.outputs.matrix` as the argument. A processing in `notification_service.py` to change | |
| # `models/bert` to `models_bert` is required, as the artifact names use `_` instead of `/`. | |
| # For a job that doesn't depend on (i.e. `needs`) `setup`, the value for `inputs.folder_slices` would be an | |
| # empty string, and the called script still get one argument (which is the emtpy string). | |
| run: | | |
| sudo apt-get install -y curl | |
| pip install slack_sdk | |
| pip show slack_sdk | |
| python utils/notification_service.py "${{ inputs.folder_slices }}" | |
| # Upload complete failure tables, as they might be big and only truncated versions could be sent to Slack. | |
| - name: Failure table artifacts | |
| # Only the model testing job is concerned for this step | |
| if: ${{ inputs.job == 'run_tests_gpu' }} | |
| uses: actions/upload-artifact@v3 | |
| with: | |
| name: prev_ci_results | |
| path: prev_ci_results | |