Skip to content

Hourly

Hourly #99

Workflow file for this run

# generated by praktika
name: Hourly
on:
schedule:
- cron: 0 */1 * * 1-5
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}
env:
PYTHONUNBUFFERED: 1
CHECKOUT_REF: ""
jobs:
config_workflow:
runs-on: [self-hosted, style-checker-aarch64]
needs: []
name: "Config Workflow"
outputs:
data: ${{ steps.run.outputs.DATA }}
pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }}
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Prepare env script
run: |
rm -rf ./ci/tmp
mkdir -p ./ci/tmp
cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
export PYTHONPATH=./ci:.:
cat > ./ci/tmp/workflow_job.json << 'EOF'
${{ toJson(job) }}
EOF
cat > ./ci/tmp/workflow_status.json << 'EOF'
${{ toJson(needs) }}
EOF
ENV_SETUP_SCRIPT_EOF
- name: Run
id: run
run: |
. ./ci/tmp/praktika_setup_env.sh
set -o pipefail
PYTHONUNBUFFERED=1 python3 -m praktika run 'Config Workflow' --workflow "Hourly" --ci 2>&1 | python3 -u -c 'import sys,datetime
prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]")
for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log
collect_flaky_tests:
runs-on: [self-hosted, style-checker-aarch64]
needs: [config_workflow]
name: "Collect flaky tests"
outputs:
data: ${{ steps.run.outputs.DATA }}
pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }}
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Prepare env script
run: |
rm -rf ./ci/tmp
mkdir -p ./ci/tmp
cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
export PYTHONPATH=./ci:.:
cat > ./ci/tmp/workflow_job.json << 'EOF'
${{ toJson(job) }}
EOF
cat > ./ci/tmp/workflow_status.json << 'EOF'
${{ toJson(needs) }}
EOF
ENV_SETUP_SCRIPT_EOF
- name: Run
id: run
run: |
. ./ci/tmp/praktika_setup_env.sh
set -o pipefail
PYTHONUNBUFFERED=1 python3 -m praktika run 'Collect flaky tests' --workflow "Hourly" --ci 2>&1 | python3 -u -c 'import sys,datetime
prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]")
for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log
autoassign_approvers:
runs-on: [self-hosted, style-checker-aarch64]
needs: [config_workflow]
name: "Autoassign approvers"
outputs:
data: ${{ steps.run.outputs.DATA }}
pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }}
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Prepare env script
run: |
rm -rf ./ci/tmp
mkdir -p ./ci/tmp
cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
export PYTHONPATH=./ci:.:
cat > ./ci/tmp/workflow_job.json << 'EOF'
${{ toJson(job) }}
EOF
cat > ./ci/tmp/workflow_status.json << 'EOF'
${{ toJson(needs) }}
EOF
ENV_SETUP_SCRIPT_EOF
- name: Run
id: run
run: |
. ./ci/tmp/praktika_setup_env.sh
set -o pipefail
PYTHONUNBUFFERED=1 python3 -m praktika run 'Autoassign approvers' --workflow "Hourly" --ci 2>&1 | python3 -u -c 'import sys,datetime
prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]")
for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log