# .gitea/workflows/main.yml name: Run Report Table on: schedule: - cron: "41 4 * * *" jobs: run-script: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Fix line endings and permissions shell: bash run: | set -euo pipefail sed -i 's/\r$//' run_table.sh chmod +x run_table.sh echo "[OK] Prepared run_table.sh" - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.x" - name: Install dependencies run: pip install -r requirements.txt - name: Verify Connections shell: bash env: GRAFANA_URL: ${{ vars.GRAFANA_URL }} GRAFANA_API_KEY: ${{ secrets.GRAFANA_API_KEY }} MATTERMOST_WEBHOOK: ${{ vars.MATTERMOST_WEBHOOK }} run: | set -euo pipefail echo "[INFO] Checking Grafana connection..." curl --fail --silent --output /dev/null \ -H "Authorization: Bearer ${GRAFANA_API_KEY}" \ "${GRAFANA_URL}/api/health" echo "[OK] Grafana connection successful." echo "[INFO] Checking Mattermost webhook..." curl --fail --silent --output /dev/null \ -X POST -H 'Content-Type: application/json' \ -d '{"text": "CI connection test: OK"}' \ "${MATTERMOST_WEBHOOK}" echo "[OK] Mattermost webhook successful." - name: Run script shell: bash env: GRAFANA_URL: ${{ vars.GRAFANA_URL }} GRAFANA_API_KEY: ${{ secrets.GRAFANA_API_KEY }} MATTERMOST_WEBHOOK: ${{ vars.MATTERMOST_WEBHOOK }} GRAFANA_DASHBOARD_UID: ${{ vars.GRAFANA_DASHBOARD_UID }} run: | set -euo pipefail if [ "$(date -u +%u)" -eq 1 ]; then bash ./run_table.sh 7d else bash ./run_table.sh 24h fi - name: Upload logs if: always() uses: actions/upload-artifact@v3 with: name: report-logs path: logs/table/*.log if-no-files-found: ignore