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}",,, 136814,1,27456,test,611552758,apple-notes-to-sqlite,actions/checkout@v3,,,,, 136815,2,27456,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""}",,, 136816,3,27456,test,611552758,apple-notes-to-sqlite,,Install dependencies,,"pip install '.[test]' ",, 136817,4,27456,test,611552758,apple-notes-to-sqlite,,Run tests,,"pytest ",, 136818,1,27457,deploy,611552758,apple-notes-to-sqlite,actions/checkout@v3,,,,, 136819,2,27457,deploy,611552758,apple-notes-to-sqlite,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.11"", ""cache"": ""pip"", ""cache-dependency-path"": ""setup.py""}",,, 136820,3,27457,deploy,611552758,apple-notes-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine build ",, 136821,4,27457,deploy,611552758,apple-notes-to-sqlite,,Publish,,"python -m build twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 136822,1,27458,test,611552758,apple-notes-to-sqlite,actions/checkout@v3,,,,, 136823,2,27458,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""}",,, 136824,3,27458,test,611552758,apple-notes-to-sqlite,,Install dependencies,,"pip install '.[test]' ",, 136825,4,27458,test,611552758,apple-notes-to-sqlite,,Run tests,,"pytest ",, 136826,5,27458,test,611552758,apple-notes-to-sqlite,,Check if README is up-to-date,,"cog --check README.md ",, 136827,1,27459,test,197431109,dogsheep-beta,actions/checkout@v2,,,,, 136828,2,27459,test,197431109,dogsheep-beta,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136829,3,27459,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""}",,, 136830,4,27459,test,197431109,dogsheep-beta,,Install dependencies,,"pip install -e '.[test]' ",, 136831,5,27459,test,197431109,dogsheep-beta,,Run tests,,"pytest -v ",, 136832,1,27460,deploy,197431109,dogsheep-beta,actions/checkout@v2,,,,, 136833,2,27460,deploy,197431109,dogsheep-beta,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.8""}",,, 136834,3,27460,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""}",,, 136835,4,27460,deploy,197431109,dogsheep-beta,,Install dependencies,,"pip install setuptools wheel twine ",, 136836,5,27460,deploy,197431109,dogsheep-beta,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 136837,1,27461,test,197431109,dogsheep-beta,actions/checkout@v2,,,,, 136838,2,27461,test,197431109,dogsheep-beta,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136839,3,27461,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""}",,, 136840,4,27461,test,197431109,dogsheep-beta,,Install dependencies,,"pip install -e '.[test]' ",, 136841,5,27461,test,197431109,dogsheep-beta,,Run tests,,"pytest -v ",, 136842,1,27462,build,256834907,dogsheep-photos,actions/checkout@v2,,,,, 136843,2,27462,build,256834907,dogsheep-photos,actions/setup-python@v1,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136844,3,27462,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""}",,, 136845,4,27462,build,256834907,dogsheep-photos,,Install dependencies,,"python -m pip install --upgrade pip pip install -e .[test] ",, 136846,5,27462,build,256834907,dogsheep-photos,,Test with pytest,,"pytest ",, 136847,1,27463,test,303218369,evernote-to-sqlite,actions/checkout@v2,,,,, 136848,2,27463,test,303218369,evernote-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136849,3,27463,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""}",,, 136850,4,27463,test,303218369,evernote-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 136851,5,27463,test,303218369,evernote-to-sqlite,,Run tests,,"pytest ",, 136852,1,27464,deploy,303218369,evernote-to-sqlite,actions/checkout@v2,,,,, 136853,2,27464,deploy,303218369,evernote-to-sqlite,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.9""}",,, 136854,3,27464,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""}",,, 136855,4,27464,deploy,303218369,evernote-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine ",, 136856,5,27464,deploy,303218369,evernote-to-sqlite,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 136857,1,27465,test,303218369,evernote-to-sqlite,actions/checkout@v2,,,,, 136858,2,27465,test,303218369,evernote-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136859,3,27465,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""}",,, 136860,4,27465,test,303218369,evernote-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 136861,5,27465,test,303218369,evernote-to-sqlite,,Run tests,,"pytest ",, 136862,1,27466,scheduled,207052882,github-to-sqlite,actions/checkout@v2,Check out repo,,,, 136863,2,27466,scheduled,207052882,github-to-sqlite,actions/setup-python@v1,Set up Python,"{""python-version"": ""3.9""}",,, 136864,3,27466,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""}",,, 136865,4,27466,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 ",, 136866,5,27466,scheduled,207052882,github-to-sqlite,,Create auth.json,,"echo ""{\""github_personal_token\"": \""$GITHUB_ACCESS_TOKEN\""}"" > auth.json ","{""GITHUB_ACCESS_TOKEN"": ""${{ secrets.GH_TOKEN }}""}", 136867,6,27466,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')" 136868,7,27466,scheduled,207052882,github-to-sqlite,,Fetch the repos,,"github-to-sqlite repos github.db dogsheep sqlite-utils tables --counts github.db",, 136869,8,27466,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",, 136870,9,27466,scheduled,207052882,github-to-sqlite,actions/upload-artifact@v2,,"{""path"": ""github.db""}",,, 136871,10,27466,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 }}""}",,, 136872,11,27466,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",, 136873,1,27467,test,207052882,github-to-sqlite,actions/checkout@v2,,,,, 136874,2,27467,test,207052882,github-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136875,3,27467,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""}",,, 136876,4,27467,test,207052882,github-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 136877,5,27467,test,207052882,github-to-sqlite,,Run tests,,"pytest ",, 136878,1,27468,deploy,207052882,github-to-sqlite,actions/checkout@v2,,,,, 136879,2,27468,deploy,207052882,github-to-sqlite,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.11""}",,, 136880,3,27468,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""}",,, 136881,4,27468,deploy,207052882,github-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine ",, 136882,5,27468,deploy,207052882,github-to-sqlite,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 136883,1,27469,build,207052882,github-to-sqlite,actions/checkout@v2,Check out repo,,,, 136884,2,27469,build,207052882,github-to-sqlite,,Update TOC,,npx markdown-toc README.md -i,, 136885,3,27469,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",, 136886,1,27470,test,207052882,github-to-sqlite,actions/checkout@v2,,,,, 136887,2,27470,test,207052882,github-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136888,3,27470,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""}",,, 136889,4,27470,test,207052882,github-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 136890,5,27470,test,207052882,github-to-sqlite,,Run tests,,"pytest ",, 136891,1,27471,test,248903544,hacker-news-to-sqlite,actions/checkout@v2,,,,, 136892,2,27471,test,248903544,hacker-news-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136893,3,27471,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""}",,, 136894,4,27471,test,248903544,hacker-news-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 136895,5,27471,test,248903544,hacker-news-to-sqlite,,Run tests,,"pytest ",, 136896,1,27472,deploy,248903544,hacker-news-to-sqlite,actions/checkout@v2,,,,, 136897,2,27472,deploy,248903544,hacker-news-to-sqlite,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.9""}",,, 136898,3,27472,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""}",,, 136899,4,27472,deploy,248903544,hacker-news-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine ",, 136900,5,27472,deploy,248903544,hacker-news-to-sqlite,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 136901,1,27473,test,248903544,hacker-news-to-sqlite,actions/checkout@v2,,,,, 136902,2,27473,test,248903544,hacker-news-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136903,3,27473,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""}",,, 136904,4,27473,test,248903544,hacker-news-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 136905,5,27473,test,248903544,hacker-news-to-sqlite,,Run tests,,"pytest ",, 136906,1,27474,test,197882382,healthkit-to-sqlite,actions/checkout@v2,,,,, 136907,2,27474,test,197882382,healthkit-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136908,3,27474,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""}",,, 136909,4,27474,test,197882382,healthkit-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 136910,5,27474,test,197882382,healthkit-to-sqlite,,Run tests,,"pytest ",, 136911,1,27475,deploy,197882382,healthkit-to-sqlite,actions/checkout@v2,,,,, 136912,2,27475,deploy,197882382,healthkit-to-sqlite,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.9""}",,, 136913,3,27475,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""}",,, 136914,4,27475,deploy,197882382,healthkit-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine ",, 136915,5,27475,deploy,197882382,healthkit-to-sqlite,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 136916,1,27476,test,197882382,healthkit-to-sqlite,actions/checkout@v2,,,,, 136917,2,27476,test,197882382,healthkit-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136918,3,27476,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""}",,, 136919,4,27476,test,197882382,healthkit-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 136920,5,27476,test,197882382,healthkit-to-sqlite,,Run tests,,"pytest ",, 136921,1,27477,test,213286752,pocket-to-sqlite,actions/checkout@v3,,,,, 136922,2,27477,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""}",,, 136923,3,27477,test,213286752,pocket-to-sqlite,,Install dependencies,,"pip install '.[test]' ",, 136924,4,27477,test,213286752,pocket-to-sqlite,,Run tests,,"pytest ",, 136925,1,27478,deploy,213286752,pocket-to-sqlite,actions/checkout@v3,,,,, 136926,2,27478,deploy,213286752,pocket-to-sqlite,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.11"", ""cache"": ""pip"", ""cache-dependency-path"": ""pyproject.toml""}",,, 136927,3,27478,deploy,213286752,pocket-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine build ",, 136928,4,27478,deploy,213286752,pocket-to-sqlite,,Publish,,"python -m build twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 136929,1,27479,test,213286752,pocket-to-sqlite,actions/checkout@v3,,,,, 136930,2,27479,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""}",,, 136931,3,27479,test,213286752,pocket-to-sqlite,,Install dependencies,,"pip install '.[test]' ",, 136932,4,27479,test,213286752,pocket-to-sqlite,,Run tests,,"pytest ",, 136933,1,27480,test,205429375,swarm-to-sqlite,actions/checkout@v3,,,,, 136934,2,27480,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""}",,, 136935,3,27480,test,205429375,swarm-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 136936,4,27480,test,205429375,swarm-to-sqlite,,Run tests,,"pytest ",, 136937,1,27481,deploy,205429375,swarm-to-sqlite,actions/checkout@v3,,,,, 136938,2,27481,deploy,205429375,swarm-to-sqlite,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.11"", ""cache"": ""pip"", ""cache-dependency-path"": ""setup.py""}",,, 136939,3,27481,deploy,205429375,swarm-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine ",, 136940,4,27481,deploy,205429375,swarm-to-sqlite,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 136941,1,27482,test,205429375,swarm-to-sqlite,actions/checkout@v3,,,,, 136942,2,27482,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""}",,, 136943,3,27482,test,205429375,swarm-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 136944,4,27482,test,205429375,swarm-to-sqlite,,Run tests,,"pytest ",, 136945,1,27483,test,206156866,twitter-to-sqlite,actions/checkout@v2,,,,, 136946,2,27483,test,206156866,twitter-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136947,3,27483,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""}",,, 136948,4,27483,test,206156866,twitter-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 136949,5,27483,test,206156866,twitter-to-sqlite,,Run tests,,"pytest ",, 136950,1,27484,deploy,206156866,twitter-to-sqlite,actions/checkout@v2,,,,, 136951,2,27484,deploy,206156866,twitter-to-sqlite,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.9""}",,, 136952,3,27484,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""}",,, 136953,4,27484,deploy,206156866,twitter-to-sqlite,,Install dependencies,,"pip install setuptools wheel twine ",, 136954,5,27484,deploy,206156866,twitter-to-sqlite,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 136955,1,27485,build,206156866,twitter-to-sqlite,actions/checkout@v2,Check out repo,,,, 136956,2,27485,build,206156866,twitter-to-sqlite,,Update TOC,,npx markdown-toc README.md -i,, 136957,3,27485,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",, 136958,1,27486,test,206156866,twitter-to-sqlite,actions/checkout@v2,,,,, 136959,2,27486,test,206156866,twitter-to-sqlite,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136960,3,27486,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""}",,, 136961,4,27486,test,206156866,twitter-to-sqlite,,Install dependencies,,"pip install -e '.[test]' ",, 136962,5,27486,test,206156866,twitter-to-sqlite,,Run tests,,"pytest ",, 136963,1,27487,deploy-branch-preview,107914493,datasette,actions/checkout@v3,,,,, 136964,2,27487,deploy-branch-preview,107914493,datasette,actions/setup-python@v4,Set up Python 3.11,"{""python-version"": ""3.11""}",,, 136965,3,27487,deploy-branch-preview,107914493,datasette,,Install dependencies,,"pip install datasette-publish-vercel ",, 136966,4,27487,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 }}""}", 136967,1,27488,deploy,107914493,datasette,actions/checkout@v3,Check out datasette,,,, 136968,2,27488,deploy,107914493,datasette,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.9""}",,, 136969,3,27488,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""}",,, 136970,4,27488,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 ",, 136971,5,27488,deploy,107914493,datasette,,Run tests,,"pytest -n auto -m ""not serial"" pytest -m ""serial"" ",,${{ github.ref == 'refs/heads/main' }} 136972,6,27488,deploy,107914493,datasette,,Build fixtures.db,,python tests/fixtures.py fixtures.db fixtures.json plugins --extra-db-filename extra_database.db,, 136973,7,27488,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' }} 136974,8,27488,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 ",, 136975,9,27488,deploy,107914493,datasette,,Make some modifications to metadata.json,,"cat fixtures.json | \ jq '.databases |= . + {""ephemeral"": {""allow"": {""id"": ""*""}}}' | \ jq '.plugins |= . + {""datasette-ephemeral-tables"": {""table_ttl"": 900}}' \ > metadata.json cat metadata.json ",, 136976,10,27488,deploy,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 }}""}",,, 136977,11,27488,deploy,107914493,datasette,,Deploy to Cloud Run,,"gcloud config set run/region us-central1 gcloud config set project datasette-222320 export SUFFIX=""-${GITHUB_REF#refs/heads/}"" export SUFFIX=${SUFFIX#-main} # Replace 1.0 with one-dot-zero in SUFFIX export SUFFIX=${SUFFIX//1.0/one-dot-zero} datasette publish cloudrun fixtures.db fixtures2.db extra_database.db \ -m metadata.json \ --plugins-dir=plugins \ --branch=$GITHUB_SHA \ --version-note=$GITHUB_SHA \ --extra-options=""--setting template_debug 1 --setting trace_debug 1 --crossdb"" \ --install 'datasette-ephemeral-tables>=0.2.2' \ --service ""datasette-latest$SUFFIX"" \ --secret $LATEST_DATASETTE_SECRET","{""LATEST_DATASETTE_SECRET"": ""${{ secrets.LATEST_DATASETTE_SECRET }}""}", 136978,12,27488,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' }} 136979,1,27489,documentation-links,107914493,datasette,readthedocs/actions/preview@v1,,"{""project-slug"": ""datasette""}",,, 136980,1,27490,prettier,107914493,datasette,actions/checkout@v2,Check out repo,,,, 136981,2,27490,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""}",,, 136982,3,27490,prettier,107914493,datasette,,Install dependencies,,npm ci,, 136983,4,27490,prettier,107914493,datasette,,Run prettier,,npm run prettier -- --check,, 136984,1,27491,test,107914493,datasette,actions/checkout@v3,,,,, 136985,2,27491,test,107914493,datasette,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 136986,3,27491,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""}",,, 136987,4,27491,test,107914493,datasette,,Install dependencies,,"pip install -e '.[test]' ",, 136988,5,27491,test,107914493,datasette,,Run tests,,"pytest ",, 136989,1,27492,deploy,107914493,datasette,actions/checkout@v3,,,,, 136990,2,27492,deploy,107914493,datasette,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.11""}",,, 136991,3,27492,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""}",,, 136992,4,27492,deploy,107914493,datasette,,Install dependencies,,"pip install setuptools wheel twine ",, 136993,5,27492,deploy,107914493,datasette,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 136994,1,27493,deploy_static_docs,107914493,datasette,actions/checkout@v2,,,,, 136995,2,27493,deploy_static_docs,107914493,datasette,actions/setup-python@v2,Set up Python,"{""python-version"": ""3.9""}",,, 136996,3,27493,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""}",,, 136997,4,27493,deploy_static_docs,107914493,datasette,,Install dependencies,,"python -m pip install -e .[docs] python -m pip install sphinx-to-sqlite==0.1a1 ",, 136998,5,27493,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 ..",, 136999,6,27493,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 }}""}",,, 137000,7,27493,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",, 137001,1,27494,deploy_docker,107914493,datasette,actions/checkout@v2,,,,, 137002,2,27494,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 }}""}", 137003,1,27495,deploy_docker,107914493,datasette,actions/checkout@v2,,,,, 137004,2,27495,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 }}""}", 137005,1,27496,spellcheck,107914493,datasette,actions/checkout@v2,,,,, 137006,2,27496,spellcheck,107914493,datasette,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": 3.9}",,, 137007,3,27496,spellcheck,107914493,datasette,actions/cache@v2,Configure pip caching,"{""path"": ""~/.cache/pip"", ""key"": ""${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}"", ""restore-keys"": ""${{ runner.os }}-pip-\n""}",,, 137008,4,27496,spellcheck,107914493,datasette,,Install dependencies,,"pip install -e '.[docs]' ",, 137009,5,27496,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 ",, 137010,1,27497,test,107914493,datasette,actions/checkout@v2,Check out datasette,,,, 137011,2,27497,test,107914493,datasette,actions/setup-python@v2,Set up Python,"{""python-version"": 3.9}",,, 137012,3,27497,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""}",,, 137013,4,27497,test,107914493,datasette,,Install Python dependencies,,"python -m pip install --upgrade pip python -m pip install -e .[test] python -m pip install pytest-cov ",, 137014,5,27497,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",, 137015,6,27497,test,107914493,datasette,codecov/codecov-action@v1,Upload coverage report,"{""token"": ""${{ secrets.CODECOV_TOKEN }}"", ""file"": ""coverage.xml""}",,, 137016,1,27498,test,107914493,datasette,actions/checkout@v3,,,,, 137017,2,27498,test,107914493,datasette,actions/setup-python@v3,Set up Python 3.10,"{""python-version"": ""3.10"", ""cache"": ""pip"", ""cache-dependency-path"": ""**/setup.py""}",,, 137018,3,27498,test,107914493,datasette,actions/cache@v2,Cache Playwright browsers,"{""path"": ""~/.cache/ms-playwright/"", ""key"": ""${{ runner.os }}-browsers""}",,, 137019,4,27498,test,107914493,datasette,,Install Playwright dependencies,,"pip install shot-scraper build shot-scraper install ",, 137020,5,27498,test,107914493,datasette,,Run test,,"./test-in-pyodide-with-shot-scraper.sh ",, 137021,1,27499,test,107914493,datasette,actions/checkout@v3,,,,, 137022,2,27499,test,107914493,datasette,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 137023,3,27499,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""}",,, 137024,4,27499,test,107914493,datasette,,Build extension for --load-extension test,,(cd tests && gcc ext.c -fPIC -shared -o ext.so),, 137025,5,27499,test,107914493,datasette,,Install dependencies,,"pip install -e '.[test,docs]' pip freeze ",, 137026,6,27499,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 ",, 137027,7,27499,test,107914493,datasette,,Check if cog needs to be run,,"cog --check docs/*.rst ",, 137028,8,27499,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 ",, 137029,1,27500,build,107914493,datasette,actions/checkout@v2,,,,, 137030,2,27500,build,107914493,datasette,mxschmitt/action-tmate@v3,Setup tmate session,,,, 137031,1,27501,build,107914493,datasette,actions/checkout@v2,,,,, 137032,2,27501,build,107914493,datasette,mxschmitt/action-tmate@v3,Setup tmate session,,,, 137033,1,27502,Analyze,140912432,sqlite-utils,actions/checkout@v2,Checkout repository,"{""fetch-depth"": 2}",,, 137034,2,27502,Analyze,140912432,sqlite-utils,,,,git checkout HEAD^2,,${{ github.event_name == 'pull_request' }} 137035,3,27502,Analyze,140912432,sqlite-utils,github/codeql-action/init@v1,Initialize CodeQL,"{""languages"": ""${{ matrix.language }}""}",,, 137036,4,27502,Analyze,140912432,sqlite-utils,github/codeql-action/autobuild@v1,Autobuild,,,, 137037,5,27502,Analyze,140912432,sqlite-utils,github/codeql-action/analyze@v1,Perform CodeQL Analysis,,,, 137038,1,27503,documentation-links,140912432,sqlite-utils,readthedocs/actions/preview@v1,,"{""project-slug"": ""sqlite-utils""}",,, 137039,1,27504,test,140912432,sqlite-utils,actions/checkout@v3,,,,, 137040,2,27504,test,140912432,sqlite-utils,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 137041,3,27504,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""}",,, 137042,4,27504,test,140912432,sqlite-utils,,Install dependencies,,"pip install -e '.[test,tui]' ",, 137043,5,27504,test,140912432,sqlite-utils,,Run tests,,"pytest ",, 137044,1,27505,deploy,140912432,sqlite-utils,actions/checkout@v3,,,,, 137045,2,27505,deploy,140912432,sqlite-utils,actions/setup-python@v4,Set up Python,"{""python-version"": ""3.11""}",,, 137046,3,27505,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""}",,, 137047,4,27505,deploy,140912432,sqlite-utils,,Install dependencies,,"pip install setuptools wheel twine ",, 137048,5,27505,deploy,140912432,sqlite-utils,,Publish,,"python setup.py sdist bdist_wheel twine upload dist/* ","{""TWINE_USERNAME"": ""__token__"", ""TWINE_PASSWORD"": ""${{ secrets.PYPI_TOKEN }}""}", 137049,1,27506,spellcheck,140912432,sqlite-utils,actions/checkout@v2,,,,, 137050,2,27506,spellcheck,140912432,sqlite-utils,actions/setup-python@v2,Set up Python ${{ matrix.python-version }},"{""python-version"": 3.9}",,, 137051,3,27506,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""}",,, 137052,4,27506,spellcheck,140912432,sqlite-utils,,Install dependencies,,"pip install -e '.[docs]' ",, 137053,5,27506,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 ",, 137054,1,27507,test,140912432,sqlite-utils,actions/checkout@v2,Check out repo,,,, 137055,2,27507,test,140912432,sqlite-utils,actions/setup-python@v2,Set up Python,"{""python-version"": 3.9}",,, 137056,3,27507,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""}",,, 137057,4,27507,test,140912432,sqlite-utils,,Install SpatiaLite,,sudo apt-get install libsqlite3-mod-spatialite,, 137058,5,27507,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 ",, 137059,6,27507,test,140912432,sqlite-utils,,Run tests,,"ls -lah pytest --cov=sqlite_utils --cov-report xml:coverage.xml --cov-report term ls -lah",, 137060,7,27507,test,140912432,sqlite-utils,codecov/codecov-action@v1,Upload coverage report,"{""token"": ""${{ secrets.CODECOV_TOKEN }}"", ""file"": ""coverage.xml""}",,, 137061,1,27508,test,140912432,sqlite-utils,actions/checkout@v3,,,,, 137062,2,27508,test,140912432,sqlite-utils,actions/setup-python@v4,Set up Python ${{ matrix.python-version }},"{""python-version"": ""${{ matrix.python-version }}""}",,, 137063,3,27508,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""}",,, 137064,4,27508,test,140912432,sqlite-utils,,Install dependencies,,"pip install -e '.[test,mypy,flake8,tui]' ",, 137065,5,27508,test,140912432,sqlite-utils,,Optionally install numpy,,pip install numpy,,matrix.numpy == 1 137066,6,27508,test,140912432,sqlite-utils,,Install SpatiaLite,,sudo apt-get install libsqlite3-mod-spatialite,,matrix.os == 'ubuntu-latest' 137067,7,27508,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' 137068,8,27508,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' 137069,9,27508,test,140912432,sqlite-utils,,Run tests,,"pytest -v ",, 137070,10,27508,test,140912432,sqlite-utils,,run mypy,,mypy sqlite_utils tests,, 137071,11,27508,test,140912432,sqlite-utils,,run flake8 if Python 3.8 or higher,,flake8,,matrix.python-version >= 3.8 137072,12,27508,test,140912432,sqlite-utils,,Check formatting,,black . --check,, 137073,13,27508,test,140912432,sqlite-utils,,Check if cog needs to be run,,"cog --check README.md docs/*.rst ",,