id,seq,job,job_label,repo,repo_label,uses,name,with,run,env,if 133396,1,26772,mirror,107914493,datasette,zofrex/mirror-branch@ea152f124954fa4eb26eea3fe0dbe313a3a08d94,"Mirror to ""master""","{""target-branch"": ""master"", ""force"": false}",,, 133397,2,26772,mirror,107914493,datasette,zofrex/mirror-branch@ea152f124954fa4eb26eea3fe0dbe313a3a08d94,"Mirror to ""main""","{""target-branch"": ""main"", ""force"": false}",,, 138653,1,27827,test,611552758,apple-notes-to-sqlite,actions/checkout@v3,,,,, 138654,2,27827,test,611552758,apple-notes-to-sqlite,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}"", ""cache"": ""pip"", ""cache-dependency-path"": ""setup.py""}",,, 138655,3,27827,test,611552758,apple-notes-to-sqlite,,Install dependencies,,"pip install '.[test]' ",, 138656,4,27827,test,611552758,apple-notes-to-sqlite,,Run tests,,"pytest ",, 138657,1,27828,deploy,611552758,apple-notes-to-sqlite,actions/checkout@v3,,,,, 138658,2,27828,deploy,611552758,apple-notes-to-sqlite,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.11"", ""cache"": ""pip"", ""cache-dependency-path"": ""setup.py""}",,, 138659,3,27828,deploy,611552758,apple-notes-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine build ",, 138660,4,27828,deploy,611552758,apple-notes-to-sqlite,,Publish,,"python -m build twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 138661,1,27829,test,611552758,apple-notes-to-sqlite,actions/checkout@v3,,,,, 138662,2,27829,test,611552758,apple-notes-to-sqlite,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}"", ""cache"": ""pip"", ""cache-dependency-path"": ""setup.py""}",,, 138663,3,27829,test,611552758,apple-notes-to-sqlite,,Install dependencies,,"pip install '.[test]' ",, 138664,4,27829,test,611552758,apple-notes-to-sqlite,,Run tests,,"pytest ",, 138665,5,27829,test,611552758,apple-notes-to-sqlite,,Check if README is up-to-date,,"cog --check README.md ",, 138666,1,27830,test,197431109,dogsheep-beta,actions/checkout@v2,,,,, 138667,2,27830,test,197431109,dogsheep-beta,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138668,3,27830,test,197431109,dogsheep-beta,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138669,4,27830,test,197431109,dogsheep-beta,,Install dependencies,,"pip install -e '.[test]' ",, 138670,5,27830,test,197431109,dogsheep-beta,,Run tests,,"pytest -v ",, 138671,1,27831,deploy,197431109,dogsheep-beta,actions/checkout@v2,,,,, 138672,2,27831,deploy,197431109,dogsheep-beta,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.8""}",,, 138673,3,27831,deploy,197431109,dogsheep-beta,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-publish-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-publish-pip-\n""}",,, 138674,4,27831,deploy,197431109,dogsheep-beta,,Install dependencies,,"pip install setuptools wheel twine ",, 138675,5,27831,deploy,197431109,dogsheep-beta,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 138676,1,27832,test,197431109,dogsheep-beta,actions/checkout@v2,,,,, 138677,2,27832,test,197431109,dogsheep-beta,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138678,3,27832,test,197431109,dogsheep-beta,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138679,4,27832,test,197431109,dogsheep-beta,,Install dependencies,,"pip install -e '.[test]' ",, 138680,5,27832,test,197431109,dogsheep-beta,,Run tests,,"pytest -v ",, 138681,1,27833,build,256834907,dogsheep-photos,actions/checkout@v2,,,,, 138682,2,27833,build,256834907,dogsheep-photos,actions/setup-python@v1,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138683,3,27833,build,256834907,dogsheep-photos,actions/cache@v1,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138684,4,27833,build,256834907,dogsheep-photos,,Install dependencies,,"python -m pip install --upgrade pip pip install -e .[test] ",, 138685,5,27833,build,256834907,dogsheep-photos,,Test with pytest,,"pytest ",, 138686,1,27834,test,303218369,evernote-to-sqlite,actions/checkout@v2,,,,, 138687,2,27834,test,303218369,evernote-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138688,3,27834,test,303218369,evernote-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138689,4,27834,test,303218369,evernote-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 138690,5,27834,test,303218369,evernote-to-sqlite,,Run tests,,"pytest ",, 138691,1,27835,deploy,303218369,evernote-to-sqlite,actions/checkout@v2,,,,, 138692,2,27835,deploy,303218369,evernote-to-sqlite,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.9""}",,, 138693,3,27835,deploy,303218369,evernote-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-publish-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-publish-pip-\n""}",,, 138694,4,27835,deploy,303218369,evernote-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine ",, 138695,5,27835,deploy,303218369,evernote-to-sqlite,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 138696,1,27836,test,303218369,evernote-to-sqlite,actions/checkout@v2,,,,, 138697,2,27836,test,303218369,evernote-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138698,3,27836,test,303218369,evernote-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138699,4,27836,test,303218369,evernote-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 138700,5,27836,test,303218369,evernote-to-sqlite,,Run tests,,"pytest ",, 138701,1,27837,scheduled,207052882,github-to-sqlite,actions/checkout@v2,Check out repo,,,, 138702,2,27837,scheduled,207052882,github-to-sqlite,actions/setup-python@v1,Set up Python,"{""python-version"": ""3.9""}",,, 138703,3,27837,scheduled,207052882,github-to-sqlite,actions/cache@v1,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138704,4,27837,scheduled,207052882,github-to-sqlite,,Install Python dependencies,,"python -m pip install --upgrade pip pip install sqlite-utils>=3.1 sqlite-utils --version pip install -e . pip install datasette pip install bs4 ",, 138705,5,27837,scheduled,207052882,github-to-sqlite,,Create auth.json,,"echo ""{\""github_personal_token\"": \""$GITHUB_ACCESS_TOKEN\""}"" > auth.json ","{""GITHUB_ACCESS_TOKEN"": ""${{ secrets.GH_TOKEN }}""}", 138706,6,27837,scheduled,207052882,github-to-sqlite,,Fetch previous copy of database,,"# So we can keep track of when we first saw each dependent repo wget https://github-to-sqlite.dogsheep.net/github.db",,"!contains(github.event.head_commit.message, 'REFRESH_DB')" 138707,7,27837,scheduled,207052882,github-to-sqlite,,Fetch the repos,,"github-to-sqlite repos github.db dogsheep sqlite-utils tables --counts github.db",, 138708,8,27837,scheduled,207052882,github-to-sqlite,,"Fetch releases, commits, issues, contributors",,"sqlite-utils github.db ""select full_name from repos where owner = 53015001 union select 'simonw/datasette' as full_name union select 'simonw/sqlite-utils' as full_name"" \ --csv --no-headers | while read repo; do github-to-sqlite releases \ github.db $(echo $repo | tr -d '\r'); sleep 10; github-to-sqlite commits \ github.db $(echo $repo | tr -d '\r'); sleep 10; github-to-sqlite tags \ github.db $(echo $repo | tr -d '\r'); sleep 10; github-to-sqlite contributors \ github.db $(echo $repo | tr -d '\r'); sleep 10; github-to-sqlite issues \ github.db $(echo $repo | tr -d '\r'); sleep 10; github-to-sqlite pull-requests \ github.db $(echo $repo | tr -d '\r'); sleep 10; github-to-sqlite issue-comments \ github.db $(echo $repo | tr -d '\r'); sleep 10; github-to-sqlite stargazers \ github.db $(echo $repo | tr -d '\r'); sleep 10; github-to-sqlite workflows \ github.db $(echo $repo | tr -d '\r'); sleep 10; done; # Scrape dependents github-to-sqlite scrape-dependents github.db simonw/datasette simonw/sqlite-utils -v sqlite-utils tables --counts github.db # Delete email addresses from raw_authors sqlite-utils github.db ""update raw_authors set email = ''"" # Fetch emojis github-to-sqlite emojis github.db --fetch # Rebuild FTS tables sqlite-utils rebuild-fts github.db # Populate _analyze_tables_ table sqlite-utils analyze-tables github.db --save",, 138709,9,27837,scheduled,207052882,github-to-sqlite,actions/upload-artifact@v2,,"{""path"": ""github.db""}",,, 138710,10,27837,scheduled,207052882,github-to-sqlite,google-github-actions/setup-gcloud@v0,Set up Cloud Run,"{""version"": ""318.0.0"", ""service_account_email"": ""${{ secrets.GCP_SA_EMAIL }}"", ""service_account_key"": ""${{ secrets.GCP_SA_KEY }}""}",,, 138711,11,27837,scheduled,207052882,github-to-sqlite,,Deploy to Cloud Run,,"gcloud config set run/region us-central1 gcloud config set project datasette-222320 datasette publish cloudrun github.db \ -m demo-metadata.json \ --service github-to-sqlite \ --install=datasette-search-all>=0.3 \ --install=datasette-render-markdown>=1.1.2 \ --install=datasette-pretty-json>=0.2.2 \ --install=datasette-json-html \ --install=datasette-vega \ --install=datasette-render-images \ --install=datasette-graphql \ --install=datasette-atom",, 138712,1,27838,test,207052882,github-to-sqlite,actions/checkout@v2,,,,, 138713,2,27838,test,207052882,github-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138714,3,27838,test,207052882,github-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138715,4,27838,test,207052882,github-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 138716,5,27838,test,207052882,github-to-sqlite,,Run tests,,"pytest ",, 138717,1,27839,deploy,207052882,github-to-sqlite,actions/checkout@v2,,,,, 138718,2,27839,deploy,207052882,github-to-sqlite,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.11""}",,, 138719,3,27839,deploy,207052882,github-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-publish-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-publish-pip-\n""}",,, 138720,4,27839,deploy,207052882,github-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine ",, 138721,5,27839,deploy,207052882,github-to-sqlite,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 138722,1,27840,build,207052882,github-to-sqlite,actions/checkout@v2,Check out repo,,,, 138723,2,27840,build,207052882,github-to-sqlite,,Update TOC,,npx markdown-toc README.md -i,, 138724,3,27840,build,207052882,github-to-sqlite,,Commit and push if README changed,,"git diff git config --global user.email ""readme-bot@example.com"" git config --global user.name ""README-bot"" git diff --quiet || (git add README.md && git commit -m ""Updated README"") git push",, 138725,1,27841,test,207052882,github-to-sqlite,actions/checkout@v2,,,,, 138726,2,27841,test,207052882,github-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138727,3,27841,test,207052882,github-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138728,4,27841,test,207052882,github-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 138729,5,27841,test,207052882,github-to-sqlite,,Run tests,,"pytest ",, 138730,1,27842,test,248903544,hacker-news-to-sqlite,actions/checkout@v2,,,,, 138731,2,27842,test,248903544,hacker-news-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138732,3,27842,test,248903544,hacker-news-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138733,4,27842,test,248903544,hacker-news-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 138734,5,27842,test,248903544,hacker-news-to-sqlite,,Run tests,,"pytest ",, 138735,1,27843,deploy,248903544,hacker-news-to-sqlite,actions/checkout@v2,,,,, 138736,2,27843,deploy,248903544,hacker-news-to-sqlite,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.9""}",,, 138737,3,27843,deploy,248903544,hacker-news-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-publish-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-publish-pip-\n""}",,, 138738,4,27843,deploy,248903544,hacker-news-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine ",, 138739,5,27843,deploy,248903544,hacker-news-to-sqlite,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 138740,1,27844,test,248903544,hacker-news-to-sqlite,actions/checkout@v2,,,,, 138741,2,27844,test,248903544,hacker-news-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138742,3,27844,test,248903544,hacker-news-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138743,4,27844,test,248903544,hacker-news-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 138744,5,27844,test,248903544,hacker-news-to-sqlite,,Run tests,,"pytest ",, 138745,1,27845,test,197882382,healthkit-to-sqlite,actions/checkout@v2,,,,, 138746,2,27845,test,197882382,healthkit-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138747,3,27845,test,197882382,healthkit-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138748,4,27845,test,197882382,healthkit-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 138749,5,27845,test,197882382,healthkit-to-sqlite,,Run tests,,"pytest ",, 138750,1,27846,deploy,197882382,healthkit-to-sqlite,actions/checkout@v2,,,,, 138751,2,27846,deploy,197882382,healthkit-to-sqlite,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.9""}",,, 138752,3,27846,deploy,197882382,healthkit-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-publish-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-publish-pip-\n""}",,, 138753,4,27846,deploy,197882382,healthkit-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine ",, 138754,5,27846,deploy,197882382,healthkit-to-sqlite,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 138755,1,27847,test,197882382,healthkit-to-sqlite,actions/checkout@v2,,,,, 138756,2,27847,test,197882382,healthkit-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138757,3,27847,test,197882382,healthkit-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138758,4,27847,test,197882382,healthkit-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 138759,5,27847,test,197882382,healthkit-to-sqlite,,Run tests,,"pytest ",, 138760,1,27848,test,213286752,pocket-to-sqlite,actions/checkout@v3,,,,, 138761,2,27848,test,213286752,pocket-to-sqlite,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}"", ""cache"": ""pip"", ""cache-dependency-path"": ""pyproject.toml""}",,, 138762,3,27848,test,213286752,pocket-to-sqlite,,Install dependencies,,"pip install '.[test]' ",, 138763,4,27848,test,213286752,pocket-to-sqlite,,Run tests,,"pytest ",, 138764,1,27849,deploy,213286752,pocket-to-sqlite,actions/checkout@v3,,,,, 138765,2,27849,deploy,213286752,pocket-to-sqlite,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.11"", ""cache"": ""pip"", ""cache-dependency-path"": ""pyproject.toml""}",,, 138766,3,27849,deploy,213286752,pocket-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine build ",, 138767,4,27849,deploy,213286752,pocket-to-sqlite,,Publish,,"python -m build twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 138768,1,27850,test,213286752,pocket-to-sqlite,actions/checkout@v3,,,,, 138769,2,27850,test,213286752,pocket-to-sqlite,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}"", ""cache"": ""pip"", ""cache-dependency-path"": ""pyproject.toml""}",,, 138770,3,27850,test,213286752,pocket-to-sqlite,,Install dependencies,,"pip install '.[test]' ",, 138771,4,27850,test,213286752,pocket-to-sqlite,,Run tests,,"pytest ",, 138772,1,27851,test,205429375,swarm-to-sqlite,actions/checkout@v3,,,,, 138773,2,27851,test,205429375,swarm-to-sqlite,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}"", ""cache"": ""pip"", ""cache-dependency-path"": ""setup.py""}",,, 138774,3,27851,test,205429375,swarm-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 138775,4,27851,test,205429375,swarm-to-sqlite,,Run tests,,"pytest ",, 138776,1,27852,deploy,205429375,swarm-to-sqlite,actions/checkout@v3,,,,, 138777,2,27852,deploy,205429375,swarm-to-sqlite,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.11"", ""cache"": ""pip"", ""cache-dependency-path"": ""setup.py""}",,, 138778,3,27852,deploy,205429375,swarm-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine ",, 138779,4,27852,deploy,205429375,swarm-to-sqlite,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 138780,1,27853,test,205429375,swarm-to-sqlite,actions/checkout@v3,,,,, 138781,2,27853,test,205429375,swarm-to-sqlite,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}"", ""cache"": ""pip"", ""cache-dependency-path"": ""setup.py""}",,, 138782,3,27853,test,205429375,swarm-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 138783,4,27853,test,205429375,swarm-to-sqlite,,Run tests,,"pytest ",, 138784,1,27854,test,206156866,twitter-to-sqlite,actions/checkout@v2,,,,, 138785,2,27854,test,206156866,twitter-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138786,3,27854,test,206156866,twitter-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138787,4,27854,test,206156866,twitter-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 138788,5,27854,test,206156866,twitter-to-sqlite,,Run tests,,"pytest ",, 138789,1,27855,deploy,206156866,twitter-to-sqlite,actions/checkout@v2,,,,, 138790,2,27855,deploy,206156866,twitter-to-sqlite,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.9""}",,, 138791,3,27855,deploy,206156866,twitter-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-publish-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-publish-pip-\n""}",,, 138792,4,27855,deploy,206156866,twitter-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine ",, 138793,5,27855,deploy,206156866,twitter-to-sqlite,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 138794,1,27856,build,206156866,twitter-to-sqlite,actions/checkout@v2,Check out repo,,,, 138795,2,27856,build,206156866,twitter-to-sqlite,,Update TOC,,npx markdown-toc README.md -i,, 138796,3,27856,build,206156866,twitter-to-sqlite,,Commit and push if README changed,,"git diff git config --global user.email ""readme-bot@example.com"" git config --global user.name ""README-bot"" git diff --quiet || (git add README.md && git commit -m ""Updated README"") git push",, 138797,1,27857,test,206156866,twitter-to-sqlite,actions/checkout@v2,,,,, 138798,2,27857,test,206156866,twitter-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138799,3,27857,test,206156866,twitter-to-sqlite,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138800,4,27857,test,206156866,twitter-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 138801,5,27857,test,206156866,twitter-to-sqlite,,Run tests,,"pytest ",, 138802,1,27858,deploy-branch-preview,107914493,datasette,actions/checkout@v3,,,,, 138803,2,27858,deploy-branch-preview,107914493,datasette,actions/setup-python@v4,Set up Python 3.11,"{""python-version"": ""3.11""}",,, 138804,3,27858,deploy-branch-preview,107914493,datasette,,Install dependencies,,"pip install datasette-publish-vercel ",, 138805,4,27858,deploy-branch-preview,107914493,datasette,,Deploy the preview,,"export BRANCH=""${{ github.event.inputs.branch }}"" wget https://latest.datasette.io/fixtures.db datasette publish vercel fixtures.db \ --branch $BRANCH \ --project ""datasette-preview-$BRANCH"" \ --token $VERCEL_TOKEN \ --scope datasette \ --about ""Preview of $BRANCH"" \ --about_url ""https://github.com/simonw/datasette/tree/$BRANCH"" ","{""VERCEL_TOKEN"": ""${{ secrets.BRANCH_PREVIEW_VERCEL_TOKEN }}""}", 138806,1,27859,deploy,107914493,datasette,actions/checkout@v3,Check out datasette,,,, 138807,2,27859,deploy,107914493,datasette,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.9""}",,, 138808,3,27859,deploy,107914493,datasette,actions/cache@v3,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138809,4,27859,deploy,107914493,datasette,,Install Python dependencies,,"python -m pip install --upgrade pip python -m pip install -e .[test] python -m pip install -e .[docs] python -m pip install sphinx-to-sqlite==0.1a1 ",, 138810,5,27859,deploy,107914493,datasette,,Run tests,,"pytest -n auto -m ""not serial"" pytest -m ""serial"" ",,${{ github.ref == 'refs/heads/main' }} 138811,6,27859,deploy,107914493,datasette,,Build fixtures.db and other files needed to deploy the demo,,"python tests/fixtures.py \ fixtures.db \ fixtures-config.json \ fixtures-metadata.json \ plugins \ --extra-db-filename extra_database.db",, 138812,7,27859,deploy,107914493,datasette,,Build docs.db,,"cd docs DISABLE_SPHINX_INLINE_TABS=1 sphinx-build -b xml . _build sphinx-to-sqlite ../docs.db _build cd ..",,${{ github.ref == 'refs/heads/main' }} 138813,8,27859,deploy,107914493,datasette,,Set up the alternate-route demo,,"echo ' from datasette import hookimpl @hookimpl def startup(datasette): db = datasette.get_database(""fixtures2"") db.route = ""alternative-route"" ' > plugins/alternative_route.py cp fixtures.db fixtures2.db ",, 138814,9,27859,deploy,107914493,datasette,,And the counters writable canned query demo,,"cat > plugins/counters.py <=0.2.2' \ --service ""datasette-latest$SUFFIX"" \ --secret $LATEST_DATASETTE_SECRET","{""LATEST_DATASETTE_SECRET"": ""${{ secrets.LATEST_DATASETTE_SECRET }}""}", 138817,12,27859,deploy,107914493,datasette,,Deploy to docs as well (only for main),,"# Deploy docs.db to a different service datasette publish cloudrun docs.db \ --branch=$GITHUB_SHA \ --version-note=$GITHUB_SHA \ --extra-options=""--setting template_debug 1"" \ --service=datasette-docs-latest",,${{ github.ref == 'refs/heads/main' }} 138818,1,27860,documentation-links,107914493,datasette,readthedocs/actions/preview@v1,,"{""project-slug"": ""datasette""}",,, 138819,1,27861,prettier,107914493,datasette,actions/checkout@v2,Check out repo,,,, 138820,2,27861,prettier,107914493,datasette,actions/cache@v2,Configure npm caching,"{""path"": ""~/.npm"", ""key"": ""${{ runner.OS }}-npm-${{ hashFiles('**/package-lock.json') }}"", ""restore-keys"": ""${{ runner.OS }}-npm-\n""}",,, 138821,3,27861,prettier,107914493,datasette,,Install dependencies,,npm ci,, 138822,4,27861,prettier,107914493,datasette,,Run prettier,,npm run prettier -- --check,, 138823,1,27862,test,107914493,datasette,actions/checkout@v3,,,,, 138824,2,27862,test,107914493,datasette,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138825,3,27862,test,107914493,datasette,actions/cache@v3,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138826,4,27862,test,107914493,datasette,,Install dependencies,,"pip install -e '.[test]' ",, 138827,5,27862,test,107914493,datasette,,Run tests,,"pytest ",, 138828,1,27863,deploy,107914493,datasette,actions/checkout@v3,,,,, 138829,2,27863,deploy,107914493,datasette,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.11""}",,, 138830,3,27863,deploy,107914493,datasette,actions/cache@v3,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-publish-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-publish-pip-\n""}",,, 138831,4,27863,deploy,107914493,datasette,,Install dependencies,,"pip install setuptools wheel twine ",, 138832,5,27863,deploy,107914493,datasette,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 138833,1,27864,deploy_static_docs,107914493,datasette,actions/checkout@v2,,,,, 138834,2,27864,deploy_static_docs,107914493,datasette,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.9""}",,, 138835,3,27864,deploy_static_docs,107914493,datasette,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-publish-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-publish-pip-\n""}",,, 138836,4,27864,deploy_static_docs,107914493,datasette,,Install dependencies,,"python -m pip install -e .[docs] python -m pip install sphinx-to-sqlite==0.1a1 ",, 138837,5,27864,deploy_static_docs,107914493,datasette,,Build docs.db,,"cd docs DISABLE_SPHINX_INLINE_TABS=1 sphinx-build -b xml . _build sphinx-to-sqlite ../docs.db _build cd ..",, 138838,6,27864,deploy_static_docs,107914493,datasette,google-github-actions/setup-gcloud@v0,Set up Cloud Run,"{""version"": ""318.0.0"", ""service_account_email"": ""${{ secrets.GCP_SA_EMAIL }}"", ""service_account_key"": ""${{ secrets.GCP_SA_KEY }}""}",,, 138839,7,27864,deploy_static_docs,107914493,datasette,,Deploy stable-docs.datasette.io to Cloud Run,,"gcloud config set run/region us-central1 gcloud config set project datasette-222320 datasette publish cloudrun docs.db \ --service=datasette-docs-stable",, 138840,1,27865,deploy_docker,107914493,datasette,actions/checkout@v2,,,,, 138841,2,27865,deploy_docker,107914493,datasette,,Build and push to Docker Hub,,"sleep 60 # Give PyPI time to make the new release available docker login -u $DOCKER_USER -p $DOCKER_PASS export REPO=datasetteproject/datasette docker build -f Dockerfile \ -t $REPO:${GITHUB_REF#refs/tags/} \ --build-arg VERSION=${GITHUB_REF#refs/tags/} . docker tag $REPO:${GITHUB_REF#refs/tags/} $REPO:latest docker push $REPO:${GITHUB_REF#refs/tags/} docker push $REPO:latest","{""DOCKER_USER"": ""${{ secrets.DOCKER_USER }}"", ""DOCKER_PASS"": ""${{ secrets.DOCKER_PASS }}""}", 138842,1,27866,deploy_docker,107914493,datasette,actions/checkout@v2,,,,, 138843,2,27866,deploy_docker,107914493,datasette,,Build and push to Docker Hub,,"docker login -u $DOCKER_USER -p $DOCKER_PASS export REPO=datasetteproject/datasette docker build -f Dockerfile \ -t $REPO:${VERSION_TAG} \ --build-arg VERSION=${VERSION_TAG} . docker push $REPO:${VERSION_TAG}","{""DOCKER_USER"": ""${{ secrets.DOCKER_USER }}"", ""DOCKER_PASS"": ""${{ secrets.DOCKER_PASS }}"", ""VERSION_TAG"": ""${{ github.event.inputs.version_tag }}""}", 138844,1,27867,spellcheck,107914493,datasette,actions/checkout@v4,,,,, 138845,2,27867,spellcheck,107914493,datasette,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.11"", ""cache"": ""pip"", ""cache-dependency-path"": ""**/setup.py""}",,, 138846,3,27867,spellcheck,107914493,datasette,,Install dependencies,,"pip install -e '.[docs]' ",, 138847,4,27867,spellcheck,107914493,datasette,,Check spelling,,"codespell README.md --ignore-words docs/codespell-ignore-words.txt codespell docs/*.rst --ignore-words docs/codespell-ignore-words.txt codespell datasette -S datasette/static --ignore-words docs/codespell-ignore-words.txt ",, 138848,1,27868,test,107914493,datasette,actions/checkout@v2,Check out datasette,,,, 138849,2,27868,test,107914493,datasette,actions/setup-python@v2,Set up Python,"{""python-version"": 3.9}",,, 138850,3,27868,test,107914493,datasette,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138851,4,27868,test,107914493,datasette,,Install Python dependencies,,"python -m pip install --upgrade pip python -m pip install -e .[test] python -m pip install pytest-cov ",, 138852,5,27868,test,107914493,datasette,,Run tests,,"ls -lah cat .coveragerc pytest --cov=datasette --cov-config=.coveragerc --cov-report xml:coverage.xml --cov-report term ls -lah",, 138853,6,27868,test,107914493,datasette,codecov/codecov-action@v1,Upload coverage report,"{""token"": ""${{ secrets.CODECOV_TOKEN }}"", ""file"": ""coverage.xml""}",,, 138854,1,27869,test,107914493,datasette,actions/checkout@v3,,,,, 138855,2,27869,test,107914493,datasette,actions/setup-python@v3,Set up Python 3.10,"{""python-version"": ""3.10"", ""cache"": ""pip"", ""cache-dependency-path"": ""**/setup.py""}",,, 138856,3,27869,test,107914493,datasette,actions/cache@v2,Cache Playwright browsers,"{""path"": ""~/.cache/ms-playwright/"", ""key"": ""${{ runner.os }}-browsers""}",,, 138857,4,27869,test,107914493,datasette,,Install Playwright dependencies,,"pip install shot-scraper build shot-scraper install ",, 138858,5,27869,test,107914493,datasette,,Run test,,"./test-in-pyodide-with-shot-scraper.sh ",, 138859,1,27870,test,107914493,datasette,actions/checkout@v3,,,,, 138860,2,27870,test,107914493,datasette,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}"", ""allow-prereleases"": true}",,, 138861,3,27870,test,107914493,datasette,actions/cache@v3,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138862,4,27870,test,107914493,datasette,,Build extension for --load-extension test,,(cd tests && gcc ext.c -fPIC -shared -o ext.so),, 138863,5,27870,test,107914493,datasette,,Install dependencies,,"pip install -e '.[test]' pip freeze ",, 138864,6,27870,test,107914493,datasette,,Run tests,,"pytest -n auto -m ""not serial"" pytest -m ""serial"" # And the test that exceeds a localhost HTTPS server tests/test_datasette_https_server.sh ",, 138865,7,27870,test,107914493,datasette,,Install docs dependencies on Python 3.9+,,"pip install -e '.[docs]' ",,matrix.python-version != '3.8' 138866,8,27870,test,107914493,datasette,,Check if cog needs to be run,,"cog --check docs/*.rst ",,matrix.python-version != '3.8' 138867,9,27870,test,107914493,datasette,,Check if blacken-docs needs to be run,,"# This fails on syntax errors, or a diff was applied blacken-docs -l 60 docs/*.rst ",,matrix.python-version != '3.8' 138868,10,27870,test,107914493,datasette,,Test DATASETTE_LOAD_PLUGINS,,"pip install datasette-init datasette-json-html tests/test-datasette-load-plugins.sh ",, 138869,1,27871,build,107914493,datasette,actions/checkout@v2,,,,, 138870,2,27871,build,107914493,datasette,mxschmitt/action-tmate@v3,Setup tmate session,,,, 138871,1,27872,build,107914493,datasette,actions/checkout@v2,,,,, 138872,2,27872,build,107914493,datasette,mxschmitt/action-tmate@v3,Setup tmate session,,,, 138873,1,27873,Analyze,140912432,sqlite-utils,actions/checkout@v2,Checkout repository,"{""fetch-depth"": 2}",,, 138874,2,27873,Analyze,140912432,sqlite-utils,,,,git checkout HEAD^2,,${{ github.event_name == 'pull_request' }} 138875,3,27873,Analyze,140912432,sqlite-utils,github/codeql-action/init@v1,Initialize CodeQL,"{""languages"": ""${{ matrix.language }}""}",,, 138876,4,27873,Analyze,140912432,sqlite-utils,github/codeql-action/autobuild@v1,Autobuild,,,, 138877,5,27873,Analyze,140912432,sqlite-utils,github/codeql-action/analyze@v1,Perform CodeQL Analysis,,,, 138878,1,27874,documentation-links,140912432,sqlite-utils,readthedocs/actions/preview@v1,,"{""project-slug"": ""sqlite-utils""}",,, 138879,1,27875,test,140912432,sqlite-utils,actions/checkout@v3,,,,, 138880,2,27875,test,140912432,sqlite-utils,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138881,3,27875,test,140912432,sqlite-utils,actions/cache@v3,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138882,4,27875,test,140912432,sqlite-utils,,Install dependencies,,"pip install -e '.[test]' ",, 138883,5,27875,test,140912432,sqlite-utils,,Run tests,,"pytest ",, 138884,1,27876,deploy,140912432,sqlite-utils,actions/checkout@v3,,,,, 138885,2,27876,deploy,140912432,sqlite-utils,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.12""}",,, 138886,3,27876,deploy,140912432,sqlite-utils,actions/cache@v3,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-publish-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-publish-pip-\n""}",,, 138887,4,27876,deploy,140912432,sqlite-utils,,Install dependencies,,"pip install setuptools wheel twine ",, 138888,5,27876,deploy,140912432,sqlite-utils,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 138889,1,27877,spellcheck,140912432,sqlite-utils,actions/checkout@v2,,,,, 138890,2,27877,spellcheck,140912432,sqlite-utils,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": 3.9}",,, 138891,3,27877,spellcheck,140912432,sqlite-utils,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138892,4,27877,spellcheck,140912432,sqlite-utils,,Install dependencies,,"pip install -e '.[docs]' ",, 138893,5,27877,spellcheck,140912432,sqlite-utils,,Check spelling,,"codespell docs/*.rst --ignore-words docs/codespell-ignore-words.txt codespell sqlite_utils --ignore-words docs/codespell-ignore-words.txt ",, 138894,1,27878,test,140912432,sqlite-utils,actions/checkout@v2,Check out repo,,,, 138895,2,27878,test,140912432,sqlite-utils,actions/setup-python@v2,Set up Python,"{""python-version"": 3.9}",,, 138896,3,27878,test,140912432,sqlite-utils,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138897,4,27878,test,140912432,sqlite-utils,,Install SpatiaLite,,sudo apt-get install libsqlite3-mod-spatialite,, 138898,5,27878,test,140912432,sqlite-utils,,Install Python dependencies,,"python -m pip install --upgrade pip python -m pip install -e .[test] python -m pip install pytest-cov ",, 138899,6,27878,test,140912432,sqlite-utils,,Run tests,,"ls -lah pytest --cov=sqlite_utils --cov-report xml:coverage.xml --cov-report term ls -lah",, 138900,7,27878,test,140912432,sqlite-utils,codecov/codecov-action@v1,Upload coverage report,"{""token"": ""${{ secrets.CODECOV_TOKEN }}"", ""file"": ""coverage.xml""}",,, 138901,1,27879,test,140912432,sqlite-utils,actions/checkout@v3,,,,, 138902,2,27879,test,140912432,sqlite-utils,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 138903,3,27879,test,140912432,sqlite-utils,actions/cache@v3,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 138904,4,27879,test,140912432,sqlite-utils,,Install dependencies,,"pip install -e '.[test,mypy,flake8]' ",, 138905,5,27879,test,140912432,sqlite-utils,,Optionally install tui dependencies (not 3.7),,pip install -e '.[tui]',,matrix.python-version != '3.7' 138906,6,27879,test,140912432,sqlite-utils,,Optionally install numpy,,pip install numpy,,matrix.numpy == 1 138907,7,27879,test,140912432,sqlite-utils,,Install SpatiaLite,,sudo apt-get install libsqlite3-mod-spatialite,,matrix.os == 'ubuntu-latest' 138908,8,27879,test,140912432,sqlite-utils,,On macOS with Python 3.10 test with sqlean.py,,pip install sqlean.py sqlite-dump,,matrix.os == 'macos-latest' && matrix.python-version == '3.10' 138909,9,27879,test,140912432,sqlite-utils,,Build extension for --load-extension test,,(cd tests && gcc ext.c -fPIC -shared -o ext.so && ls -lah),,matrix.os == 'ubuntu-latest' 138910,10,27879,test,140912432,sqlite-utils,,Run tests,,"pytest -v ",, 138911,11,27879,test,140912432,sqlite-utils,,run mypy,,mypy sqlite_utils tests,, 138912,12,27879,test,140912432,sqlite-utils,,run flake8 if Python 3.8 or higher,,flake8,,matrix.python-version >= 3.8 138913,13,27879,test,140912432,sqlite-utils,,Check formatting,,black . --check,, 138914,14,27879,test,140912432,sqlite-utils,,Check if cog needs to be run,,"cog --check README.md docs/*.rst ",,matrix.python-version != '3.7'