{"id": 138802, "seq": 1, "job": {"value": 27858, "label": "deploy-branch-preview"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/checkout@v3", "name": null, "with": null, "run": null, "env": null, "if": null} {"id": 138818, "seq": 1, "job": {"value": 27860, "label": "documentation-links"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "readthedocs/actions/preview@v1", "name": null, "with": "{\"project-slug\": \"datasette\"}", "run": null, "env": null, "if": null} {"id": 138823, "seq": 1, "job": {"value": 27862, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/checkout@v3", "name": null, "with": null, "run": null, "env": null, "if": null} {"id": 138828, "seq": 1, "job": {"value": 27863, "label": "deploy"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/checkout@v3", "name": null, "with": null, "run": null, "env": null, "if": null} {"id": 138833, "seq": 1, "job": {"value": 27864, "label": "deploy_static_docs"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/checkout@v2", "name": null, "with": null, "run": null, "env": null, "if": null} {"id": 138840, "seq": 1, "job": {"value": 27865, "label": "deploy_docker"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/checkout@v2", "name": null, "with": null, "run": null, "env": null, "if": null} {"id": 138842, "seq": 1, "job": {"value": 27866, "label": "deploy_docker"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/checkout@v2", "name": null, "with": null, "run": null, "env": null, "if": null} {"id": 138844, "seq": 1, "job": {"value": 27867, "label": "spellcheck"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/checkout@v4", "name": null, "with": null, "run": null, "env": null, "if": null} {"id": 138854, "seq": 1, "job": {"value": 27869, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/checkout@v3", "name": null, "with": null, "run": null, "env": null, "if": null} {"id": 138859, "seq": 1, "job": {"value": 27870, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/checkout@v3", "name": null, "with": null, "run": null, "env": null, "if": null} {"id": 138869, "seq": 1, "job": {"value": 27871, "label": "build"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/checkout@v2", "name": null, "with": null, "run": null, "env": null, "if": null} {"id": 138871, "seq": 1, "job": {"value": 27872, "label": "build"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/checkout@v2", "name": null, "with": null, "run": null, "env": null, "if": null} {"id": 138814, "seq": 9, "job": {"value": 27859, "label": "deploy"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "And the counters writable canned query demo", "with": null, "run": "cat > plugins/counters.py <=0.2.2' \\\n --service \"datasette-latest$SUFFIX\" \\\n --secret $LATEST_DATASETTE_SECRET", "env": "{\"LATEST_DATASETTE_SECRET\": \"${{ secrets.LATEST_DATASETTE_SECRET }}\"}", "if": null} {"id": 138817, "seq": 12, "job": {"value": 27859, "label": "deploy"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Deploy to docs as well (only for main)", "with": null, "run": "# Deploy docs.db to a different service\ndatasette publish cloudrun docs.db \\\n --branch=$GITHUB_SHA \\\n --version-note=$GITHUB_SHA \\\n --extra-options=\"--setting template_debug 1\" \\\n --service=datasette-docs-latest", "env": null, "if": "${{ github.ref == 'refs/heads/main' }}"} {"id": 138857, "seq": 4, "job": {"value": 27869, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Install Playwright dependencies", "with": null, "run": "pip install shot-scraper build\nshot-scraper install\n", "env": null, "if": null} {"id": 138809, "seq": 4, "job": {"value": 27859, "label": "deploy"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Install Python dependencies", "with": null, "run": "python -m pip install --upgrade pip\npython -m pip install -e .[test]\npython -m pip install -e .[docs]\npython -m pip install sphinx-to-sqlite==0.1a1\n", "env": null, "if": null} {"id": 138851, "seq": 4, "job": {"value": 27868, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Install Python dependencies", "with": null, "run": "python -m pip install --upgrade pip\npython -m pip install -e .[test]\npython -m pip install pytest-cov\n", "env": null, "if": null} {"id": 138804, "seq": 3, "job": {"value": 27858, "label": "deploy-branch-preview"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Install dependencies", "with": null, "run": "pip install datasette-publish-vercel\n", "env": null, "if": null} {"id": 138821, "seq": 3, "job": {"value": 27861, "label": "prettier"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Install dependencies", "with": null, "run": "npm ci", "env": null, "if": null} {"id": 138826, "seq": 4, "job": {"value": 27862, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Install dependencies", "with": null, "run": "pip install -e '.[test]'\n", "env": null, "if": null} {"id": 138831, "seq": 4, "job": {"value": 27863, "label": "deploy"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Install dependencies", "with": null, "run": "pip install setuptools wheel twine\n", "env": null, "if": null} {"id": 138836, "seq": 4, "job": {"value": 27864, "label": "deploy_static_docs"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Install dependencies", "with": null, "run": "python -m pip install -e .[docs]\npython -m pip install sphinx-to-sqlite==0.1a1\n", "env": null, "if": null} {"id": 138846, "seq": 3, "job": {"value": 27867, "label": "spellcheck"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Install dependencies", "with": null, "run": "pip install -e '.[docs]'\n", "env": null, "if": null} {"id": 138863, "seq": 5, "job": {"value": 27870, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Install dependencies", "with": null, "run": "pip install -e '.[test]'\npip freeze\n", "env": null, "if": null} {"id": 138865, "seq": 7, "job": {"value": 27870, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Install docs dependencies on Python 3.9+", "with": null, "run": "pip install -e '.[docs]'\n", "env": null, "if": "matrix.python-version != '3.8'"} {"id": 133397, "seq": 2, "job": {"value": 26772, "label": "mirror"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "zofrex/mirror-branch@ea152f124954fa4eb26eea3fe0dbe313a3a08d94", "name": "Mirror to \"main\"", "with": "{\"target-branch\": \"main\", \"force\": false}", "run": null, "env": null, "if": null} {"id": 133396, "seq": 1, "job": {"value": 26772, "label": "mirror"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "zofrex/mirror-branch@ea152f124954fa4eb26eea3fe0dbe313a3a08d94", "name": "Mirror to \"master\"", "with": "{\"target-branch\": \"master\", \"force\": false}", "run": null, "env": null, "if": null} {"id": 138832, "seq": 5, "job": {"value": 27863, "label": "deploy"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Publish", "with": null, "run": "python setup.py sdist bdist_wheel\ntwine upload dist/*\n", "env": "{\"TWINE_USERNAME\": \"__token__\", \"TWINE_PASSWORD\": \"${{ secrets.PYPI_TOKEN }}\"}", "if": null} {"id": 138822, "seq": 4, "job": {"value": 27861, "label": "prettier"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Run prettier", "with": null, "run": "npm run prettier -- --check", "env": null, "if": null} {"id": 138858, "seq": 5, "job": {"value": 27869, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Run test", "with": null, "run": "./test-in-pyodide-with-shot-scraper.sh\n", "env": null, "if": null} {"id": 138810, "seq": 5, "job": {"value": 27859, "label": "deploy"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Run tests", "with": null, "run": "pytest -n auto -m \"not serial\"\npytest -m \"serial\"\n", "env": null, "if": "${{ github.ref == 'refs/heads/main' }}"} {"id": 138827, "seq": 5, "job": {"value": 27862, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Run tests", "with": null, "run": "pytest\n", "env": null, "if": null} {"id": 138852, "seq": 5, "job": {"value": 27868, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Run tests", "with": null, "run": "ls -lah\ncat .coveragerc\npytest --cov=datasette --cov-config=.coveragerc --cov-report xml:coverage.xml --cov-report term\nls -lah", "env": null, "if": null} {"id": 138864, "seq": 6, "job": {"value": 27870, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Run tests", "with": null, "run": "pytest -n auto -m \"not serial\"\npytest -m \"serial\"\n# And the test that exceeds a localhost HTTPS server\ntests/test_datasette_https_server.sh\n", "env": null, "if": null} {"id": 138815, "seq": 10, "job": {"value": 27859, "label": "deploy"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "google-github-actions/setup-gcloud@v0", "name": "Set up Cloud Run", "with": "{\"version\": \"318.0.0\", \"service_account_email\": \"${{ secrets.GCP_SA_EMAIL }}\", \"service_account_key\": \"${{ secrets.GCP_SA_KEY }}\"}", "run": null, "env": null, "if": null} {"id": 138838, "seq": 6, "job": {"value": 27864, "label": "deploy_static_docs"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "google-github-actions/setup-gcloud@v0", "name": "Set up Cloud Run", "with": "{\"version\": \"318.0.0\", \"service_account_email\": \"${{ secrets.GCP_SA_EMAIL }}\", \"service_account_key\": \"${{ secrets.GCP_SA_KEY }}\"}", "run": null, "env": null, "if": null} {"id": 138807, "seq": 2, "job": {"value": 27859, "label": "deploy"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/setup-python@v4", "name": "Set up Python", "with": "{\"python-version\": \"3.9\"}", "run": null, "env": null, "if": null} {"id": 138829, "seq": 2, "job": {"value": 27863, "label": "deploy"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/setup-python@v4", "name": "Set up Python", "with": "{\"python-version\": \"3.11\"}", "run": null, "env": null, "if": null} {"id": 138834, "seq": 2, "job": {"value": 27864, "label": "deploy_static_docs"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/setup-python@v2", "name": "Set up Python", "with": "{\"python-version\": \"3.9\"}", "run": null, "env": null, "if": null} {"id": 138845, "seq": 2, "job": {"value": 27867, "label": "spellcheck"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/setup-python@v4", "name": "Set up Python", "with": "{\"python-version\": \"3.11\", \"cache\": \"pip\", \"cache-dependency-path\": \"**/setup.py\"}", "run": null, "env": null, "if": null} {"id": 138849, "seq": 2, "job": {"value": 27868, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/setup-python@v2", "name": "Set up Python", "with": "{\"python-version\": 3.9}", "run": null, "env": null, "if": null} {"id": 138824, "seq": 2, "job": {"value": 27862, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/setup-python@v4", "name": "Set up Python ${{ matrix.python-version }}", "with": "{\"python-version\": \"${{ matrix.python-version }}\"}", "run": null, "env": null, "if": null} {"id": 138860, "seq": 2, "job": {"value": 27870, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/setup-python@v4", "name": "Set up Python ${{ matrix.python-version }}", "with": "{\"python-version\": \"${{ matrix.python-version }}\", \"allow-prereleases\": true}", "run": null, "env": null, "if": null} {"id": 138855, "seq": 2, "job": {"value": 27869, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/setup-python@v3", "name": "Set up Python 3.10", "with": "{\"python-version\": \"3.10\", \"cache\": \"pip\", \"cache-dependency-path\": \"**/setup.py\"}", "run": null, "env": null, "if": null} {"id": 138803, "seq": 2, "job": {"value": 27858, "label": "deploy-branch-preview"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "actions/setup-python@v4", "name": "Set up Python 3.11", "with": "{\"python-version\": \"3.11\"}", "run": null, "env": null, "if": null} {"id": 138813, "seq": 8, "job": {"value": 27859, "label": "deploy"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Set up the alternate-route demo", "with": null, "run": "echo '\nfrom datasette import hookimpl\n\n@hookimpl\ndef startup(datasette):\n db = datasette.get_database(\"fixtures2\")\n db.route = \"alternative-route\"\n' > plugins/alternative_route.py\ncp fixtures.db fixtures2.db\n", "env": null, "if": null} {"id": 138870, "seq": 2, "job": {"value": 27871, "label": "build"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "mxschmitt/action-tmate@v3", "name": "Setup tmate session", "with": null, "run": null, "env": null, "if": null} {"id": 138872, "seq": 2, "job": {"value": 27872, "label": "build"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "mxschmitt/action-tmate@v3", "name": "Setup tmate session", "with": null, "run": null, "env": null, "if": null} {"id": 138868, "seq": 10, "job": {"value": 27870, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": null, "name": "Test DATASETTE_LOAD_PLUGINS", "with": null, "run": "pip install datasette-init datasette-json-html\ntests/test-datasette-load-plugins.sh\n", "env": null, "if": null} {"id": 138853, "seq": 6, "job": {"value": 27868, "label": "test"}, "repo": {"value": 107914493, "label": "datasette"}, "uses": "codecov/codecov-action@v1", "name": "Upload coverage report", "with": "{\"token\": \"${{ secrets.CODECOV_TOKEN }}\", \"file\": \"coverage.xml\"}", "run": null, "env": null, "if": null}