@ -20,6 +20,7 @@ on: 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					jobs:  
					 
					 
					jobs:  
				
			 
			
		
	
		
		
			
				
					 
					 
					   build:  
					 
					 
					   build:  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					     runs-on :   ubuntu-20.04  
				
			 
			
		
	
		
		
			
				
					 
					 
					     # Make warnings errors, this is to prevent warnings slipping through.  
					 
					 
					     # Make warnings errors, this is to prevent warnings slipping through.  
				
			 
			
		
	
		
		
			
				
					 
					 
					     # This is done globally to prevent rebuilds when the RUSTFLAGS env variable changes.  
					 
					 
					     # This is done globally to prevent rebuilds when the RUSTFLAGS env variable changes.  
				
			 
			
		
	
		
		
			
				
					 
					 
					     env:  
					 
					 
					     env:  
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					@ -28,118 +29,169 @@ jobs: 
				
			 
			
		
	
		
		
			
				
					 
					 
					       fail-fast :   false  
					 
					 
					       fail-fast :   false  
				
			 
			
		
	
		
		
			
				
					 
					 
					       matrix:  
					 
					 
					       matrix:  
				
			 
			
		
	
		
		
			
				
					 
					 
					         channel:  
					 
					 
					         channel:  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					           - stable  
					 
					 
					           - "rust-toolchain"   # The version defined in rust-toolchain  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					         target-triple:  
					 
					 
					           - "1.59.0"   # The supported MSRV  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					           - x86_64-unknown-linux-gnu  
					 
					 
					
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					         include:  
					 
					 
					     name :   Build and Test ${{ matrix.channel }}  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					           - target-triple :   x86_64-unknown-linux-gnu  
					 
					 
					
 
				
			 
			
				
				
			
		
	
		
		
			
				
					 
					 
					             host-triple :   x86_64-unknown-linux-gnu  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					             features :   [ sqlite,mysql,postgresql,enable_mimalloc]   # Remember to update the `cargo test` to match the amount of features  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					             channel :   stable  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					             os :   ubuntu-20.04  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					             ext :   ""  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					     name :   Building ${{ matrix.channel }}-${{ matrix.target-triple }}  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					     runs-on :   ${{ matrix.os }}  
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 
					 
					     steps:  
					 
					 
					     steps:  
				
			 
			
		
	
		
		
			
				
					 
					 
					       # Checkout the repo  
					 
					 
					       # Checkout the repo  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					       - name :   Checkout  
					 
					 
					       - name :   "Checkout"  
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					 
					 
					         uses :   actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b   # v3.0.2  
					 
					 
					         uses :   actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b   # v3.0.2  
				
			 
			
		
	
		
		
			
				
					 
					 
					       # End Checkout the repo  
					 
					 
					       # End Checkout the repo  
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					       # Install musl-tools when needed  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					       - name :   Install musl tools  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					         run :   sudo apt-get update && sudo apt-get install -y --no-install-recommends musl-dev musl-tools cmake  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					         if :   matrix.target-triple == 'x86_64-unknown-linux-musl'  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					       # End Install musl-tools when needed  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					       # Install dependencies  
					 
					 
					       # Install dependencies  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					       - name :   Install dependencies Ubuntu  
					 
					 
					       - name :   "Install dependencies Ubuntu"  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					         run :   sudo apt-get update && sudo apt-get install -y --no-install-recommends openssl sqlite build-essential libmariadb-dev-compat libpq-dev libssl-dev pkgconf  
					 
					 
					         run :   sudo apt-get update && sudo apt-get install -y --no-install-recommends openssl sqlite build-essential libmariadb-dev-compat libpq-dev libssl-dev pkg-config  
				
			 
			
				
				
			
		
	
		
		
			
				
					 
					 
					         if :   startsWith( matrix.os, 'ubuntu' )  
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
			
				
					 
					 
					       # End Install dependencies  
					 
					 
					       # End Install dependencies  
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					       # Enable Rust Caching  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					       - uses :   Swatinem/rust-cache@842ef286fff290e445b90b4002cc9807c3669641   # v1.3.0  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					       # End Enable Rust Caching  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					       # Uses the rust-toolchain file to determine version  
					 
					 
					       # Uses the rust-toolchain file to determine version  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					       - name :   'Install ${{ matrix.channel }}-${{ matrix.host-triple }} for target: ${{ matrix.target-triple }}'  
					 
					 
					       - name :   "Install rust-toolchain version"  
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					 
					 
					         uses :   actions-rs/toolchain@b2417cde72dcf67f306c0ae8e0828a81bf0b189f   # v1.0.6  
					 
					 
					         uses :   actions-rs/toolchain@b2417cde72dcf67f306c0ae8e0828a81bf0b189f   # v1.0.6  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   ${{ matrix.channel == 'rust-toolchain' }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					         with:  
					 
					 
					         with:  
				
			 
			
		
	
		
		
			
				
					 
					 
					           profile :   minimal  
					 
					 
					           profile :   minimal  
				
			 
			
		
	
		
		
			
				
					 
					 
					           target :   ${{ matrix.target-triple }}  
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					           components :   clippy, rustfmt  
					 
					 
					           components :   clippy, rustfmt  
				
			 
			
		
	
		
		
			
				
					 
					 
					       # End Uses the rust-toolchain file to determine version  
					 
					 
					       # End Uses the rust-toolchain file to determine version  
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       # Install the MSRV channel to be used  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       - name :   "Install MSRV version"  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         uses :   actions-rs/toolchain@b2417cde72dcf67f306c0ae8e0828a81bf0b189f   # v1.0.6  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   ${{ matrix.channel != 'rust-toolchain' }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         with:  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           profile :   minimal  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           override :   true  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           toolchain :   ${{ matrix.channel }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       # End Install the MSRV channel to be used  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       # Enable Rust Caching  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       - uses :   Swatinem/rust-cache@6720f05bc48b77f96918929a9019fb2203ff71f8   # v2.0.0  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       # End Enable Rust Caching  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       # Show environment  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       - name :   "Show environment"  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         run :   |  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           rustc -vV  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           cargo -vV  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       # End Show environment  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					       # Run cargo tests (In release mode to speed up future builds)  
					 
					 
					       # Run cargo tests (In release mode to speed up future builds)  
				
			 
			
		
	
		
		
			
				
					 
					 
					       # First test all features together, afterwards test them separately.  
					 
					 
					       # First test all features together, afterwards test them separately.  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					       - name :   "`cargo test --release --features ${{ join(matrix.features, ',') }} --target ${{ matrix.target-triple }}`"  
					 
					 
					       - name :   "test features: sqlite,mysql,postgresql,enable_mimalloc"  
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         id :   test_sqlite_mysql_postgresql_mimalloc  
				
			 
			
		
	
		
		
			
				
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   $${{ always() }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					         with:  
					 
					 
					         with:  
				
			 
			
		
	
		
		
			
				
					 
					 
					           command :   test  
					 
					 
					           command :   test  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					           args :   --release --features ${{ join(matrix.features, ',') }} --target ${{ matrix.target-triple }}  
					 
					 
					           args :   --release --features sqlite,mysql,postgresql,enable_mimalloc   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					       # Test single features  
					 
					 
					
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					       # 0: sqlite  
					 
					 
					       - name :   "test features: sqlite,mysql,postgresql"   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					       - name :   "`cargo test --release --features ${{ matrix.features[0] }} --target ${{ matrix.target-triple }}`"  
					 
					 
					         id :   test_sqlite_mysql_postgresql   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   $${{ always() }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					         with:  
					 
					 
					         with:  
				
			 
			
		
	
		
		
			
				
					 
					 
					           command :   test  
					 
					 
					           command :   test  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					           args :   --release --features ${{ matrix.features[0] }} --target ${{ matrix.target-triple }}  
					 
					 
					           args :   --release --features sqlite,mysql,postgresql  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					         if :   ${{ matrix.features[0] != '' }}  
					 
					 
					
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					       # 1: mysql  
					 
					 
					       - name :   "test features: sqlite"  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					       - name :   "`cargo test --release --features ${{ matrix.features[1] }} --target ${{ matrix.target-triple }}`"  
					 
					 
					         id :   test_sqlite  
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   $${{ always() }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         with:  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           command :   test  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           args :   --release --features sqlite  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       - name :   "test features: mysql"  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         id :   test_mysql  
				
			 
			
		
	
		
		
			
				
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   $${{ always() }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					         with:  
					 
					 
					         with:  
				
			 
			
		
	
		
		
			
				
					 
					 
					           command :   test  
					 
					 
					           command :   test  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					           args :   --release --features ${{ matrix.features[1] }} --target ${{ matrix.target-triple }}  
					 
					 
					           args :   --release --features mysql   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					         if :   ${{ matrix.features[1] != '' }}  
					 
					 
					
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					       # 2: postgresql  
					 
					 
					       - name :   "test features: postgresql"   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					       - name :   "`cargo test --release --features ${{ matrix.features[2] }} --target ${{ matrix.target-triple }}`"  
					 
					 
					         id :   test_postgresql   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   $${{ always() }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					         with:  
					 
					 
					         with:  
				
			 
			
		
	
		
		
			
				
					 
					 
					           command :   test  
					 
					 
					           command :   test  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					           args :   --release --features ${{ matrix.features[2] }} --target ${{ matrix.target-triple }}  
					 
					 
					           args :   --release --features postgresql  
				
			 
			
				
				
			
		
	
		
		
			
				
					 
					 
					         if :   ${{ matrix.features[2] != '' }}  
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
			
				
					 
					 
					       # End Run cargo tests  
					 
					 
					       # End Run cargo tests  
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					       # Run cargo clippy, and fail on warnings (In release mode to speed up future builds)  
					 
					 
					       # Run cargo clippy, and fail on warnings (In release mode to speed up future builds)  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					       - name :   "`cargo clippy --release --features ${{ join(matrix.features, ',') }} --target ${{ matrix.target-triple }}`"  
					 
					 
					       - name :   "clippy features: sqlite,mysql,postgresql,enable_mimalloc"  
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         id :   clippy  
				
			 
			
		
	
		
		
			
				
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   ${{ always() && matrix.channel == 'rust-toolchain' }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					         with:  
					 
					 
					         with:  
				
			 
			
		
	
		
		
			
				
					 
					 
					           command :   clippy  
					 
					 
					           command :   clippy  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					           args :   --release --features ${{ join(matrix.features, ',') }} --target ${{ matrix.target-triple }}  -- -D warnings  
					 
					 
					           args :   --release --features sqlite,mysql,postgresql,enable_mimalloc  -- -D warnings  
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					 
					 
					       # End Run cargo clippy  
					 
					 
					       # End Run cargo clippy  
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					       # Run cargo fmt  
					 
					 
					       # Run cargo fmt (Only run on rust-toolchain defined version)  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					       - name :   '`cargo fmt`'  
					 
					 
					       - name :   "check formatting"  
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         id :   formatting  
				
			 
			
		
	
		
		
			
				
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   ${{ always() && matrix.channel == 'rust-toolchain' }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					         with:  
					 
					 
					         with:  
				
			 
			
		
	
		
		
			
				
					 
					 
					           command :   fmt  
					 
					 
					           command :   fmt  
				
			 
			
		
	
		
		
			
				
					 
					 
					           args :   --all -- --check  
					 
					 
					           args :   --all -- --check  
				
			 
			
		
	
		
		
			
				
					 
					 
					       # End Run cargo fmt  
					 
					 
					       # End Run cargo fmt  
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					       # Build the binary  
					 
					 
					       # Check for any previous failures, if there are stop, else continue.  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					       - name :   "`cargo build --release --features ${{ join(matrix.features, ',') }} --target ${{ matrix.target-triple }}`"  
					 
					 
					       # This is useful so all test/clippy/fmt actions are done, and they can all be addressed  
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       - name :   "Some checks failed"  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   ${{ failure() }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         run :   |  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "### :x: Checks Failed!" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "|Job|Status|" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "|---|------|" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "|test (sqlite,mysql,postgresql,enable_mimalloc)|${{ steps.test_sqlite_mysql_postgresql_mimalloc.outcome }}|" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "|test (sqlite,mysql,postgresql)|${{ steps.test_sqlite_mysql_postgresql.outcome }}|" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "|test (sqlite)|${{ steps.test_sqlite.outcome }}|" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "|test (mysql)|${{ steps.test_mysql.outcome }}|" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "|test (postgresql)|${{ steps.test_postgresql.outcome }}|" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "|clippy (sqlite,mysql,postgresql,enable_mimalloc)|${{ steps.clippy.outcome }}|" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "|fmt|${{ steps.formatting.outcome }}|" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "Please check the failed jobs and fix where needed." >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           exit 1  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       # Check for any previous failures, if there are stop, else continue.  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       # This is useful so all test/clippy/fmt actions are done, and they can all be addressed  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       - name :   "All checks passed"  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   ${{ success() }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         run :   |  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "### :tada: Checks Passed!" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					           echo "" >> $GITHUB_STEP_SUMMARY  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       # Build the binary to upload to the artifacts  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					       - name :   "build features: sqlite,mysql,postgresql"  
				
			 
			
		
	
		
		
			
				
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
					 
					 
					         uses :   actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505   # v1.0.3  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   ${{ matrix.channel == 'rust-toolchain' }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					         with:  
					 
					 
					         with:  
				
			 
			
		
	
		
		
			
				
					 
					 
					           command :   build  
					 
					 
					           command :   build  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					           args :   --release --features ${{ join(matrix.features, ',') }} --target ${{ matrix.target-triple }}  
					 
					 
					           args :   --release --features sqlite,mysql,postgresql   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					 
					 
					       # End Build the binary  
					 
					 
					       # End Build the binary  
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					       # Upload artifact to Github Actions  
					 
					 
					       # Upload artifact to Github Actions  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					       - name :   Upload artifact  
					 
					 
					       - name :   "Upload artifact"  
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					 
					 
					         uses :   actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8   # v3.1.0  
					 
					 
					         uses :   actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8   # v3.1.0  
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					         if :   ${{ matrix.channel == 'rust-toolchain' }}  
				
			 
			
		
	
		
		
			
				
					 
					 
					         with:  
					 
					 
					         with:  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					           name :   vaultwarden-${{ matrix.target-triple }}${{ matrix.ext }}  
					 
					 
					           name :   vaultwarden  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					           path :   target/${{ matrix.target-triple }}/release/vaultwarden${{ matrix.ext }}  
					 
					 
					           path :   target/${{ matrix.target-triple }}/release/vaultwarden  
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 
					 
					       # End Upload artifact to Github Actions  
					 
					 
					       # End Upload artifact to Github Actions