|
name: Self-hosted runner (push) |
|
|
|
on: |
|
workflow_run: |
|
workflows: ["Self-hosted runner (push-caller)"] |
|
branches: ["main"] |
|
types: [completed] |
|
push: |
|
branches: |
|
- ci_* |
|
- ci-* |
|
paths: |
|
- "src/**" |
|
- "tests/**" |
|
- ".github/**" |
|
- "templates/**" |
|
- "utils/**" |
|
repository_dispatch: |
|
|
|
env: |
|
HF_HOME: /mnt/cache |
|
TRANSFORMERS_IS_CI: yes |
|
OMP_NUM_THREADS: 8 |
|
MKL_NUM_THREADS: 8 |
|
PYTEST_TIMEOUT: 60 |
|
TF_FORCE_GPU_ALLOW_GROWTH: true |
|
RUN_PT_TF_CROSS_TESTS: 1 |
|
|
|
jobs: |
|
check_runner_status: |
|
name: Check Runner Status |
|
runs-on: ubuntu-latest |
|
steps: |
|
- name: Checkout transformers |
|
uses: actions/checkout@v3 |
|
with: |
|
fetch-depth: 2 |
|
|
|
- name: Check Runner Status |
|
run: python utils/check_self_hosted_runner.py --target_runners single-gpu-ci-runner-docker,multi-gpu-ci-runner-docker --token ${{ secrets.ACCESS_REPO_INFO_TOKEN }} |
|
|
|
check_runners: |
|
name: Check Runners |
|
needs: check_runner_status |
|
strategy: |
|
matrix: |
|
machine_type: [single-gpu, multi-gpu] |
|
runs-on: [self-hosted, docker-gpu, '${{ matrix.machine_type }}'] |
|
container: |
|
image: huggingface/transformers-all-latest-gpu-push-ci |
|
options: --gpus 0 --shm-size "16gb" --ipc host -v /mnt/cache/.cache/huggingface:/mnt/cache/ |
|
steps: |
|
- name: NVIDIA-SMI |
|
run: | |
|
nvidia-smi |
|
|
|
setup: |
|
name: Setup |
|
needs: check_runners |
|
strategy: |
|
matrix: |
|
machine_type: [single-gpu, multi-gpu] |
|
runs-on: [self-hosted, docker-gpu, '${{ matrix.machine_type }}'] |
|
container: |
|
image: huggingface/transformers-all-latest-gpu-push-ci |
|
options: --gpus 0 --shm-size "16gb" --ipc host -v /mnt/cache/.cache/huggingface:/mnt/cache/ |
|
outputs: |
|
matrix: ${{ steps.set-matrix.outputs.matrix }} |
|
test_map: ${{ steps.set-matrix.outputs.test_map }} |
|
steps: |
|
|
|
|
|
- name: Prepare custom environment variables |
|
shell: bash |
|
|
|
|
|
|
|
|
|
|
|
|
|
run: | |
|
CI_BRANCH_PUSH=${{ github.event.ref }} |
|
CI_BRANCH_PUSH=${CI_BRANCH_PUSH/'refs/heads/'/''} |
|
CI_BRANCH_WORKFLOW_RUN=${{ github.event.workflow_run.head_branch }} |
|
CI_SHA_PUSH=${{ github.event.head_commit.id }} |
|
CI_SHA_WORKFLOW_RUN=${{ github.event.workflow_run.head_sha }} |
|
echo $CI_BRANCH_PUSH |
|
echo $CI_BRANCH_WORKFLOW_RUN |
|
echo $CI_SHA_PUSH |
|
echo $CI_SHA_WORKFLOW_RUN |
|
[[ ! -z "$CI_BRANCH_PUSH" ]] && echo "CI_BRANCH=$CI_BRANCH_PUSH" >> $GITHUB_ENV || echo "CI_BRANCH=$CI_BRANCH_WORKFLOW_RUN" >> $GITHUB_ENV |
|
[[ ! -z "$CI_SHA_PUSH" ]] && echo "CI_SHA=$CI_SHA_PUSH" >> $GITHUB_ENV || echo "CI_SHA=$CI_SHA_WORKFLOW_RUN" >> $GITHUB_ENV |
|
|
|
- name: print environment variables |
|
run: | |
|
echo "env.CI_BRANCH = ${{ env.CI_BRANCH }}" |
|
echo "env.CI_SHA = ${{ env.CI_SHA }}" |
|
|
|
- name: Update clone using environment variables |
|
working-directory: /transformers |
|
run: | |
|
echo "original branch = $(git branch --show-current)" |
|
git fetch && git checkout ${{ env.CI_BRANCH }} |
|
echo "updated branch = $(git branch --show-current)" |
|
git checkout ${{ env.CI_SHA }} |
|
echo "log = $(git log -n 1)" |
|
|
|
- name: Cleanup |
|
working-directory: /transformers |
|
run: | |
|
rm -rf tests/__pycache__ |
|
rm -rf tests/models/__pycache__ |
|
rm -rf reports |
|
|
|
- name: Show installed libraries and their versions |
|
working-directory: /transformers |
|
run: pip freeze |
|
|
|
- name: Fetch the tests to run |
|
working-directory: /transformers |
|
|
|
run: | |
|
pip install --upgrade git-python |
|
python3 utils/tests_fetcher.py --diff_with_last_commit | tee test_preparation.txt |
|
|
|
- name: Report fetched tests |
|
uses: actions/upload-artifact@v3 |
|
with: |
|
name: test_fetched |
|
path: /transformers/test_preparation.txt |
|
|
|
- id: set-matrix |
|
name: Organize tests into models |
|
working-directory: /transformers |
|
|
|
|
|
|
|
run: | |
|
if [ -f test_map.json ]; then |
|
keys=$(python3 -c 'import json; fp = open("test_map.json"); test_map = json.load(fp); fp.close(); d = list(test_map.keys()); print(d)') |
|
test_map=$(python3 -c 'import json; fp = open("test_map.json"); test_map = json.load(fp); fp.close(); print(test_map)') |
|
else |
|
keys=$(python3 -c 'keys = ["dummy"]; print(keys)') |
|
test_map=$(python3 -c 'test_map = {"dummy": []}; print(test_map)') |
|
fi |
|
echo $keys |
|
echo $test_map |
|
echo "matrix=$keys" >> $GITHUB_OUTPUT |
|
echo "test_map=$test_map" >> $GITHUB_OUTPUT |
|
|
|
run_tests_single_gpu: |
|
name: Model tests |
|
needs: setup |
|
|
|
if: contains(fromJson(needs.setup.outputs.matrix), 'dummy') != true |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
folders: ${{ fromJson(needs.setup.outputs.matrix) }} |
|
machine_type: [single-gpu] |
|
runs-on: [self-hosted, docker-gpu, '${{ matrix.machine_type }}'] |
|
container: |
|
image: huggingface/transformers-all-latest-gpu-push-ci |
|
options: --gpus 0 --shm-size "16gb" --ipc host -v /mnt/cache/.cache/huggingface:/mnt/cache/ |
|
steps: |
|
|
|
|
|
- name: Prepare custom environment variables |
|
shell: bash |
|
|
|
run: | |
|
CI_BRANCH_PUSH=${{ github.event.ref }} |
|
CI_BRANCH_PUSH=${CI_BRANCH_PUSH/'refs/heads/'/''} |
|
CI_BRANCH_WORKFLOW_RUN=${{ github.event.workflow_run.head_branch }} |
|
CI_SHA_PUSH=${{ github.event.head_commit.id }} |
|
CI_SHA_WORKFLOW_RUN=${{ github.event.workflow_run.head_sha }} |
|
echo $CI_BRANCH_PUSH |
|
echo $CI_BRANCH_WORKFLOW_RUN |
|
echo $CI_SHA_PUSH |
|
echo $CI_SHA_WORKFLOW_RUN |
|
[[ ! -z "$CI_BRANCH_PUSH" ]] && echo "CI_BRANCH=$CI_BRANCH_PUSH" >> $GITHUB_ENV || echo "CI_BRANCH=$CI_BRANCH_WORKFLOW_RUN" >> $GITHUB_ENV |
|
[[ ! -z "$CI_SHA_PUSH" ]] && echo "CI_SHA=$CI_SHA_PUSH" >> $GITHUB_ENV || echo "CI_SHA=$CI_SHA_WORKFLOW_RUN" >> $GITHUB_ENV |
|
|
|
- name: print environment variables |
|
run: | |
|
echo "env.CI_BRANCH = ${{ env.CI_BRANCH }}" |
|
echo "env.CI_SHA = ${{ env.CI_SHA }}" |
|
|
|
- name: Update clone using environment variables |
|
working-directory: /transformers |
|
run: | |
|
echo "original branch = $(git branch --show-current)" |
|
git fetch && git checkout ${{ env.CI_BRANCH }} |
|
echo "updated branch = $(git branch --show-current)" |
|
git checkout ${{ env.CI_SHA }} |
|
echo "log = $(git log -n 1)" |
|
|
|
- name: Echo folder ${{ matrix.folders }} |
|
shell: bash |
|
|
|
|
|
run: | |
|
echo "${{ matrix.folders }}" |
|
echo "${{ fromJson(needs.setup.outputs.test_map)[matrix.folders] }}" |
|
matrix_folders=${{ matrix.folders }} |
|
matrix_folders=${matrix_folders/'models/'/'models_'} |
|
echo "$matrix_folders" |
|
echo "matrix_folders=$matrix_folders" >> $GITHUB_ENV |
|
|
|
- name: NVIDIA-SMI |
|
run: | |
|
nvidia-smi |
|
|
|
- name: Environment |
|
working-directory: /transformers |
|
run: | |
|
python3 utils/print_env.py |
|
|
|
- name: Show installed libraries and their versions |
|
working-directory: /transformers |
|
run: pip freeze |
|
|
|
- name: Run all non-slow selected tests on GPU |
|
working-directory: /transformers |
|
run: | |
|
python3 -m pytest -n 2 --dist=loadfile -v --make-reports=${{ matrix.machine_type }}_tests_gpu_${{ matrix.folders }} ${{ fromJson(needs.setup.outputs.test_map)[matrix.folders] }} |
|
|
|
- name: Failure short reports |
|
if: ${{ failure() }} |
|
continue-on-error: true |
|
run: cat /transformers/reports/${{ matrix.machine_type }}_tests_gpu_${{ matrix.folders }}/failures_short.txt |
|
|
|
- name: Test suite reports artifacts |
|
if: ${{ always() }} |
|
uses: actions/upload-artifact@v3 |
|
with: |
|
name: ${{ matrix.machine_type }}_run_all_tests_gpu_${{ env.matrix_folders }}_test_reports |
|
path: /transformers/reports/${{ matrix.machine_type }}_tests_gpu_${{ matrix.folders }} |
|
|
|
run_tests_multi_gpu: |
|
name: Model tests |
|
needs: setup |
|
|
|
if: contains(fromJson(needs.setup.outputs.matrix), 'dummy') != true |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
folders: ${{ fromJson(needs.setup.outputs.matrix) }} |
|
machine_type: [multi-gpu] |
|
runs-on: [self-hosted, docker-gpu, '${{ matrix.machine_type }}'] |
|
container: |
|
image: huggingface/transformers-all-latest-gpu-push-ci |
|
options: --gpus all --shm-size "16gb" --ipc host -v /mnt/cache/.cache/huggingface:/mnt/cache/ |
|
steps: |
|
|
|
|
|
- name: Prepare custom environment variables |
|
shell: bash |
|
|
|
run: | |
|
CI_BRANCH_PUSH=${{ github.event.ref }} |
|
CI_BRANCH_PUSH=${CI_BRANCH_PUSH/'refs/heads/'/''} |
|
CI_BRANCH_WORKFLOW_RUN=${{ github.event.workflow_run.head_branch }} |
|
CI_SHA_PUSH=${{ github.event.head_commit.id }} |
|
CI_SHA_WORKFLOW_RUN=${{ github.event.workflow_run.head_sha }} |
|
echo $CI_BRANCH_PUSH |
|
echo $CI_BRANCH_WORKFLOW_RUN |
|
echo $CI_SHA_PUSH |
|
echo $CI_SHA_WORKFLOW_RUN |
|
[[ ! -z "$CI_BRANCH_PUSH" ]] && echo "CI_BRANCH=$CI_BRANCH_PUSH" >> $GITHUB_ENV || echo "CI_BRANCH=$CI_BRANCH_WORKFLOW_RUN" >> $GITHUB_ENV |
|
[[ ! -z "$CI_SHA_PUSH" ]] && echo "CI_SHA=$CI_SHA_PUSH" >> $GITHUB_ENV || echo "CI_SHA=$CI_SHA_WORKFLOW_RUN" >> $GITHUB_ENV |
|
|
|
- name: print environment variables |
|
run: | |
|
echo "env.CI_BRANCH = ${{ env.CI_BRANCH }}" |
|
echo "env.CI_SHA = ${{ env.CI_SHA }}" |
|
|
|
- name: Update clone using environment variables |
|
working-directory: /transformers |
|
run: | |
|
echo "original branch = $(git branch --show-current)" |
|
git fetch && git checkout ${{ env.CI_BRANCH }} |
|
echo "updated branch = $(git branch --show-current)" |
|
git checkout ${{ env.CI_SHA }} |
|
echo "log = $(git log -n 1)" |
|
|
|
- name: Echo folder ${{ matrix.folders }} |
|
shell: bash |
|
|
|
|
|
run: | |
|
echo "${{ matrix.folders }}" |
|
echo "${{ fromJson(needs.setup.outputs.test_map)[matrix.folders] }}" |
|
matrix_folders=${{ matrix.folders }} |
|
matrix_folders=${matrix_folders/'models/'/'models_'} |
|
echo "$matrix_folders" |
|
echo "matrix_folders=$matrix_folders" >> $GITHUB_ENV |
|
|
|
- name: NVIDIA-SMI |
|
run: | |
|
nvidia-smi |
|
|
|
- name: Environment |
|
working-directory: /transformers |
|
run: | |
|
python3 utils/print_env.py |
|
|
|
- name: Show installed libraries and their versions |
|
working-directory: /transformers |
|
run: pip freeze |
|
|
|
- name: Run all non-slow selected tests on GPU |
|
env: |
|
MKL_SERVICE_FORCE_INTEL: 1 |
|
working-directory: /transformers |
|
run: | |
|
python3 -m pytest -n 2 --dist=loadfile -v --make-reports=${{ matrix.machine_type }}_tests_gpu_${{ matrix.folders }} ${{ fromJson(needs.setup.outputs.test_map)[matrix.folders] }} |
|
|
|
- name: Failure short reports |
|
if: ${{ failure() }} |
|
continue-on-error: true |
|
run: cat /transformers/reports/${{ matrix.machine_type }}_tests_gpu_${{ matrix.folders }}/failures_short.txt |
|
|
|
- name: Test suite reports artifacts |
|
if: ${{ always() }} |
|
uses: actions/upload-artifact@v3 |
|
with: |
|
name: ${{ matrix.machine_type }}_run_all_tests_gpu_${{ env.matrix_folders }}_test_reports |
|
path: /transformers/reports/${{ matrix.machine_type }}_tests_gpu_${{ matrix.folders }} |
|
|
|
run_tests_torch_cuda_extensions_single_gpu: |
|
name: Torch CUDA extension tests |
|
needs: setup |
|
if: contains(fromJson(needs.setup.outputs.matrix), 'deepspeed') || contains(fromJson(needs.setup.outputs.matrix), 'extended') |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
machine_type: [single-gpu] |
|
runs-on: [self-hosted, docker-gpu, '${{ matrix.machine_type }}'] |
|
container: |
|
image: huggingface/transformers-pytorch-deepspeed-latest-gpu-push-ci |
|
options: --gpus 0 --shm-size "16gb" --ipc host -v /mnt/cache/.cache/huggingface:/mnt/cache/ |
|
steps: |
|
|
|
|
|
- name: Prepare custom environment variables |
|
shell: bash |
|
|
|
run: | |
|
CI_BRANCH_PUSH=${{ github.event.ref }} |
|
CI_BRANCH_PUSH=${CI_BRANCH_PUSH/'refs/heads/'/''} |
|
CI_BRANCH_WORKFLOW_RUN=${{ github.event.workflow_run.head_branch }} |
|
CI_SHA_PUSH=${{ github.event.head_commit.id }} |
|
CI_SHA_WORKFLOW_RUN=${{ github.event.workflow_run.head_sha }} |
|
echo $CI_BRANCH_PUSH |
|
echo $CI_BRANCH_WORKFLOW_RUN |
|
echo $CI_SHA_PUSH |
|
echo $CI_SHA_WORKFLOW_RUN |
|
[[ ! -z "$CI_BRANCH_PUSH" ]] && echo "CI_BRANCH=$CI_BRANCH_PUSH" >> $GITHUB_ENV || echo "CI_BRANCH=$CI_BRANCH_WORKFLOW_RUN" >> $GITHUB_ENV |
|
[[ ! -z "$CI_SHA_PUSH" ]] && echo "CI_SHA=$CI_SHA_PUSH" >> $GITHUB_ENV || echo "CI_SHA=$CI_SHA_WORKFLOW_RUN" >> $GITHUB_ENV |
|
|
|
- name: print environment variables |
|
run: | |
|
echo "env.CI_BRANCH = ${{ env.CI_BRANCH }}" |
|
echo "env.CI_SHA = ${{ env.CI_SHA }}" |
|
|
|
- name: Update clone using environment variables |
|
working-directory: /workspace/transformers |
|
run: | |
|
echo "original branch = $(git branch --show-current)" |
|
git fetch && git checkout ${{ env.CI_BRANCH }} |
|
echo "updated branch = $(git branch --show-current)" |
|
git checkout ${{ env.CI_SHA }} |
|
echo "log = $(git log -n 1)" |
|
|
|
- name: Remove cached torch extensions |
|
run: rm -rf /github/home/.cache/torch_extensions/ |
|
|
|
|
|
- name: Pre build DeepSpeed *again* |
|
working-directory: /workspace |
|
run: | |
|
python3 -m pip uninstall -y deepspeed |
|
DS_BUILD_CPU_ADAM=1 DS_BUILD_FUSED_ADAM=1 DS_BUILD_AIO=1 DS_BUILD_UTILS=1 python3 -m pip install deepspeed --global-option="build_ext" --global-option="-j8" --no-cache -v --disable-pip-version-check |
|
|
|
- name: NVIDIA-SMI |
|
run: | |
|
nvidia-smi |
|
|
|
- name: Environment |
|
working-directory: /workspace/transformers |
|
run: | |
|
python utils/print_env.py |
|
|
|
- name: Show installed libraries and their versions |
|
working-directory: /workspace/transformers |
|
run: pip freeze |
|
|
|
- name: Run all non-slow selected tests on GPU |
|
working-directory: /workspace/transformers |
|
|
|
run: | |
|
python -m pytest -n 1 --dist=loadfile -v --make-reports=${{ matrix.machine_type }}_tests_torch_cuda_extensions_gpu tests/deepspeed tests/extended |
|
|
|
- name: Failure short reports |
|
if: ${{ failure() }} |
|
continue-on-error: true |
|
run: cat /workspace/transformers/reports/${{ matrix.machine_type }}_tests_torch_cuda_extensions_gpu/failures_short.txt |
|
|
|
- name: Test suite reports artifacts |
|
if: ${{ always() }} |
|
uses: actions/upload-artifact@v3 |
|
with: |
|
name: ${{ matrix.machine_type }}_run_tests_torch_cuda_extensions_gpu_test_reports |
|
path: /workspace/transformers/reports/${{ matrix.machine_type }}_tests_torch_cuda_extensions_gpu |
|
|
|
run_tests_torch_cuda_extensions_multi_gpu: |
|
name: Torch CUDA extension tests |
|
needs: setup |
|
if: contains(fromJson(needs.setup.outputs.matrix), 'deepspeed') || contains(fromJson(needs.setup.outputs.matrix), 'extended') |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
machine_type: [multi-gpu] |
|
runs-on: [self-hosted, docker-gpu, '${{ matrix.machine_type }}'] |
|
container: |
|
image: huggingface/transformers-pytorch-deepspeed-latest-gpu-push-ci |
|
options: --gpus all --shm-size "16gb" --ipc host -v /mnt/cache/.cache/huggingface:/mnt/cache/ |
|
steps: |
|
|
|
|
|
- name: Prepare custom environment variables |
|
shell: bash |
|
|
|
run: | |
|
CI_BRANCH_PUSH=${{ github.event.ref }} |
|
CI_BRANCH_PUSH=${CI_BRANCH_PUSH/'refs/heads/'/''} |
|
CI_BRANCH_WORKFLOW_RUN=${{ github.event.workflow_run.head_branch }} |
|
CI_SHA_PUSH=${{ github.event.head_commit.id }} |
|
CI_SHA_WORKFLOW_RUN=${{ github.event.workflow_run.head_sha }} |
|
echo $CI_BRANCH_PUSH |
|
echo $CI_BRANCH_WORKFLOW_RUN |
|
echo $CI_SHA_PUSH |
|
echo $CI_SHA_WORKFLOW_RUN |
|
[[ ! -z "$CI_BRANCH_PUSH" ]] && echo "CI_BRANCH=$CI_BRANCH_PUSH" >> $GITHUB_ENV || echo "CI_BRANCH=$CI_BRANCH_WORKFLOW_RUN" >> $GITHUB_ENV |
|
[[ ! -z "$CI_SHA_PUSH" ]] && echo "CI_SHA=$CI_SHA_PUSH" >> $GITHUB_ENV || echo "CI_SHA=$CI_SHA_WORKFLOW_RUN" >> $GITHUB_ENV |
|
|
|
- name: print environment variables |
|
run: | |
|
echo "env.CI_BRANCH = ${{ env.CI_BRANCH }}" |
|
echo "env.CI_SHA = ${{ env.CI_SHA }}" |
|
|
|
- name: Update clone using environment variables |
|
working-directory: /workspace/transformers |
|
run: | |
|
echo "original branch = $(git branch --show-current)" |
|
git fetch && git checkout ${{ env.CI_BRANCH }} |
|
echo "updated branch = $(git branch --show-current)" |
|
git checkout ${{ env.CI_SHA }} |
|
echo "log = $(git log -n 1)" |
|
|
|
- name: Remove cached torch extensions |
|
run: rm -rf /github/home/.cache/torch_extensions/ |
|
|
|
|
|
- name: Pre build DeepSpeed *again* |
|
working-directory: /workspace |
|
run: | |
|
python3 -m pip uninstall -y deepspeed |
|
DS_BUILD_CPU_ADAM=1 DS_BUILD_FUSED_ADAM=1 DS_BUILD_AIO=1 DS_BUILD_UTILS=1 python3 -m pip install deepspeed --global-option="build_ext" --global-option="-j8" --no-cache -v --disable-pip-version-check |
|
|
|
- name: NVIDIA-SMI |
|
run: | |
|
nvidia-smi |
|
|
|
- name: Environment |
|
working-directory: /workspace/transformers |
|
run: | |
|
python utils/print_env.py |
|
|
|
- name: Show installed libraries and their versions |
|
working-directory: /workspace/transformers |
|
run: pip freeze |
|
|
|
- name: Run all non-slow selected tests on GPU |
|
working-directory: /workspace/transformers |
|
|
|
run: | |
|
python -m pytest -n 1 --dist=loadfile -v --make-reports=${{ matrix.machine_type }}_tests_torch_cuda_extensions_gpu tests/deepspeed tests/extended |
|
|
|
- name: Failure short reports |
|
if: ${{ failure() }} |
|
continue-on-error: true |
|
run: cat /workspace/transformers/reports/${{ matrix.machine_type }}_tests_torch_cuda_extensions_gpu/failures_short.txt |
|
|
|
- name: Test suite reports artifacts |
|
if: ${{ always() }} |
|
uses: actions/upload-artifact@v3 |
|
with: |
|
name: ${{ matrix.machine_type }}_run_tests_torch_cuda_extensions_gpu_test_reports |
|
path: /workspace/transformers/reports/${{ matrix.machine_type }}_tests_torch_cuda_extensions_gpu |
|
|
|
send_results: |
|
name: Send results to webhook |
|
runs-on: ubuntu-latest |
|
if: always() |
|
needs: [ |
|
check_runner_status, |
|
check_runners, |
|
setup, |
|
run_tests_single_gpu, |
|
run_tests_multi_gpu, |
|
run_tests_torch_cuda_extensions_single_gpu, |
|
run_tests_torch_cuda_extensions_multi_gpu |
|
] |
|
steps: |
|
- name: Preliminary job status |
|
shell: bash |
|
|
|
run: | |
|
echo "Runner availability: ${{ needs.check_runner_status.result }}" |
|
echo "Setup status: ${{ needs.setup.result }}" |
|
echo "Runner status: ${{ needs.check_runners.result }}" |
|
|
|
|
|
|
|
- name: Prepare custom environment variables |
|
shell: bash |
|
|
|
run: | |
|
CI_BRANCH_PUSH=${{ github.event.ref }} |
|
CI_BRANCH_PUSH=${CI_BRANCH_PUSH/'refs/heads/'/''} |
|
CI_BRANCH_WORKFLOW_RUN=${{ github.event.workflow_run.head_branch }} |
|
CI_SHA_PUSH=${{ github.event.head_commit.id }} |
|
CI_SHA_WORKFLOW_RUN=${{ github.event.workflow_run.head_sha }} |
|
echo $CI_BRANCH_PUSH |
|
echo $CI_BRANCH_WORKFLOW_RUN |
|
echo $CI_SHA_PUSH |
|
echo $CI_SHA_WORKFLOW_RUN |
|
[[ ! -z "$CI_BRANCH_PUSH" ]] && echo "CI_BRANCH=$CI_BRANCH_PUSH" >> $GITHUB_ENV || echo "CI_BRANCH=$CI_BRANCH_WORKFLOW_RUN" >> $GITHUB_ENV |
|
[[ ! -z "$CI_SHA_PUSH" ]] && echo "CI_SHA=$CI_SHA_PUSH" >> $GITHUB_ENV || echo "CI_SHA=$CI_SHA_WORKFLOW_RUN" >> $GITHUB_ENV |
|
|
|
- name: print environment variables |
|
run: | |
|
echo "env.CI_BRANCH = ${{ env.CI_BRANCH }}" |
|
echo "env.CI_SHA = ${{ env.CI_SHA }}" |
|
|
|
- uses: actions/checkout@v3 |
|
|
|
|
|
|
|
with: |
|
fetch-depth: 20 |
|
|
|
- name: Update clone using environment variables |
|
run: | |
|
echo "original branch = $(git branch --show-current)" |
|
git fetch && git checkout ${{ env.CI_BRANCH }} |
|
echo "updated branch = $(git branch --show-current)" |
|
git checkout ${{ env.CI_SHA }} |
|
echo "log = $(git log -n 1)" |
|
|
|
- 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 }} |
|
CI_SLACK_REPORT_CHANNEL_ID: ${{ secrets.CI_SLACK_CHANNEL_ID }} |
|
ACCESS_REPO_INFO_TOKEN: ${{ secrets.ACCESS_REPO_INFO_TOKEN }} |
|
CI_EVENT: push |
|
CI_TITLE_PUSH: ${{ github.event.head_commit.message }} |
|
CI_TITLE_WORKFLOW_RUN: ${{ github.event.workflow_run.head_commit.message }} |
|
CI_SHA: ${{ env.CI_SHA }} |
|
RUNNER_STATUS: ${{ needs.check_runner_status.result }} |
|
RUNNER_ENV_STATUS: ${{ needs.check_runners.result }} |
|
SETUP_STATUS: ${{ needs.setup.result }} |
|
|
|
|
|
|
|
run: | |
|
pip install slack_sdk |
|
pip show slack_sdk |
|
python utils/notification_service.py "${{ needs.setup.outputs.matrix }}" |
|
|