kopia lustrzana https://github.com/simonw/datasette
				
				
				
			Ability to deploy demos of branches
* Ability to deploy additional branch demos, closes #1442 * Only run tests before deploy on main branch * Documentation for continuous deploymentpull/1447/head
							rodzic
							
								
									adb5b70de5
								
							
						
					
					
						commit
						d84e574e59
					
				| 
						 | 
				
			
			@ -29,6 +29,7 @@ jobs:
 | 
			
		|||
        python -m pip install -e .[docs]
 | 
			
		||||
        python -m pip install sphinx-to-sqlite==0.1a1
 | 
			
		||||
    - name: Run tests
 | 
			
		||||
      if: ${{ github.ref == 'refs/heads/main' }}
 | 
			
		||||
      run: |
 | 
			
		||||
        pytest -n auto -m "not serial"
 | 
			
		||||
        pytest -m "serial"
 | 
			
		||||
| 
						 | 
				
			
			@ -50,6 +51,8 @@ jobs:
 | 
			
		|||
      run: |-
 | 
			
		||||
        gcloud config set run/region us-central1
 | 
			
		||||
        gcloud config set project datasette-222320
 | 
			
		||||
        export SUFFIX="-${GITHUB_REF#refs/heads/}"
 | 
			
		||||
        export SUFFIX=${SUFFIX#-main}
 | 
			
		||||
        datasette publish cloudrun fixtures.db extra_database.db \
 | 
			
		||||
            -m fixtures.json \
 | 
			
		||||
            --plugins-dir=plugins \
 | 
			
		||||
| 
						 | 
				
			
			@ -57,7 +60,10 @@ jobs:
 | 
			
		|||
            --version-note=$GITHUB_SHA \
 | 
			
		||||
            --extra-options="--setting template_debug 1 --setting trace_debug 1 --crossdb" \
 | 
			
		||||
            --install=pysqlite3-binary \
 | 
			
		||||
            --service=datasette-latest
 | 
			
		||||
            --service "datasette-latest$SUFFIX"
 | 
			
		||||
    - name: Deploy to docs as well (only for main)
 | 
			
		||||
      if: ${{ github.ref == 'refs/heads/main' }}
 | 
			
		||||
      run: |-
 | 
			
		||||
        # Deploy docs.db to a different service
 | 
			
		||||
        datasette publish cloudrun docs.db \
 | 
			
		||||
            --branch=$GITHUB_SHA \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -202,6 +202,17 @@ For added productivity, you can use use `sphinx-autobuild <https://pypi.org/proj
 | 
			
		|||
 | 
			
		||||
Now browse to ``http://localhost:8000/`` to view the documentation. Any edits you make should be instantly reflected in your browser.
 | 
			
		||||
 | 
			
		||||
.. _contributing_continuous_deployment:
 | 
			
		||||
 | 
			
		||||
Continuously deployed demo instances
 | 
			
		||||
------------------------------------
 | 
			
		||||
 | 
			
		||||
The demo instance at `latest.datasette.io <https://latest.datasette.io/>`__ is re-deployed automatically to Google Cloud Run for every push to ``main`` that passes the test suite. This is implemented by the GitHub Actions workflow at `.github/workflows/deploy-latest.yml <https://github.com/simonw/datasette/blob/main/.github/workflows/deploy-latest.yml>`__.
 | 
			
		||||
 | 
			
		||||
Specific branches can also be set to automatically deploy by adding them to the ``on: push: branches`` block at the top of the workflow YAML file. Branches configured in this way will be deployed to a new Cloud Run service whether or not their tests pass.
 | 
			
		||||
 | 
			
		||||
The Cloud Run URL for a branch demo can be found in the GitHub Actions logs.
 | 
			
		||||
 | 
			
		||||
.. _contributing_release:
 | 
			
		||||
 | 
			
		||||
Release process
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue