Skip to content

Lookback OONI Data #1544

Lookback OONI Data

Lookback OONI Data #1544

Workflow file for this run

name: Lookback OONI Data
# 這支跑的是 asn_coverage/ooni.py 的資料抓取,跟 docs/ 的內容無關。原本任何 main 的 push 都觸發,
# 2026-08-19 一天下來被 docs 的 PR 觸發 18 次,每次四個 job,把並行額度佔滿,
# 連 BuildDocs 都排不進去。改成只在 asn_coverage/ 真的變動時跑,每日 cron 照舊。
on:
push:
branches:
- main
paths:
- "asn_coverage/**"
- ".github/workflows/lookback-ooni.yml"
workflow_dispatch:
schedule:
- cron: "20 0 * * *"
# 同一分支的新 push 取消還在跑的,不要疊在一起
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check_list:
# 沒有這一行時 job 會用預設的六小時上限。2026-08-19 有六個 run 卡在
# apt-get update(runner 的 apt mirror 沒有回應),一路佔著 runner 不放。
timeout-minutes: 30
strategy:
matrix:
os: ["ubuntu-22.04", "ubuntu-24.04"]
python-version: ["3.12", "3.13"]
runs-on: ${{ matrix.os }}
defaults:
run:
working-directory: ./asn_coverage
steps:
- name: Checkout
uses: actions/checkout@v6
# runner image 本來就帶著 ca-certificates,這一步只是保險。失敗不該擋住整個
# job,2026-08-19 卡死的六個 run 全部都停在這裡。
- name: Install certificates
timeout-minutes: 5
continue-on-error: true
run: |
sudo apt-get update -o Acquire::Retries=3
sudo apt-get install -y ca-certificates
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v8.1.0
- name: Sync Packages
run: uv sync
- name: Show packages
run: uv tree
- name: Run Lookback OONI Data TW
run: uv run ./ooni.py lookback --units=36 --loc=TW
- name: Run Lookback OONI Data JP
run: uv run ./ooni.py lookback --units=36 --loc=JP
- name: Run Lookback OONI Data HK
run: uv run ./ooni.py lookback --units=36 --loc=HK
- name: Run Lookback OONI Data CN
run: uv run ./ooni.py lookback --units=36 --loc=CN