mirror of
				https://github.com/sharkdp/bat.git
				synced 2025-10-30 22:54:07 +00:00 
			
		
		
		
	Add CI scripts
This commit is contained in:
		
							
								
								
									
										103
									
								
								ci/before_deploy.bash
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										103
									
								
								ci/before_deploy.bash
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,103 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Building and packaging for release | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| build() { | ||||
|     cargo build --target "$TARGET" --release --verbose | ||||
| } | ||||
|  | ||||
| pack() { | ||||
|     local tempdir | ||||
|     local out_dir | ||||
|     local package_name | ||||
|  | ||||
|     tempdir=$(mktemp -d 2>/dev/null || mktemp -d -t tmp) | ||||
|     out_dir=$(pwd) | ||||
|     package_name="$PROJECT_NAME-$TRAVIS_TAG-$TARGET" | ||||
|  | ||||
|     # create a "staging" directory | ||||
|     mkdir "$tempdir/$package_name" | ||||
|  | ||||
|     # copying the main binary | ||||
|     cp "target/$TARGET/release/$PROJECT_NAME" "$tempdir/$package_name/" | ||||
|     strip "$tempdir/$package_name/$PROJECT_NAME" | ||||
|  | ||||
|     # readme and license | ||||
|     cp README.md "$tempdir/$package_name" | ||||
|     cp LICENSE-MIT "$tempdir/$package_name" | ||||
|     cp LICENSE-APACHE "$tempdir/$package_name" | ||||
|  | ||||
|     # archiving | ||||
|     pushd "$tempdir" | ||||
|     tar czf "$out_dir/$package_name.tar.gz" "$package_name"/* | ||||
|     popd | ||||
|     rm -r "$tempdir" | ||||
| } | ||||
|  | ||||
| make_deb() { | ||||
|     local tempdir | ||||
|     local architecture | ||||
|     local version | ||||
|     local dpkgname | ||||
|     local conflictname | ||||
|  | ||||
|     case $TARGET in | ||||
|         x86_64*) | ||||
|             architecture=amd64 | ||||
|             ;; | ||||
|         i686*) | ||||
|             architecture=i386 | ||||
|             ;; | ||||
|         *) | ||||
|             echo "ERROR: unknown target" >&2 | ||||
|             return 1 | ||||
|             ;; | ||||
|     esac | ||||
|     version=${TRAVIS_TAG#v} | ||||
|     if [[ $TARGET = *musl* ]]; then | ||||
|       dpkgname=$PROJECT_NAME-musl | ||||
|       conflictname=$PROJECT_NAME | ||||
|     else | ||||
|       dpkgname=$PROJECT_NAME | ||||
|       conflictname=$PROJECT_NAME-musl | ||||
|     fi | ||||
|  | ||||
|     tempdir=$(mktemp -d 2>/dev/null || mktemp -d -t tmp) | ||||
|  | ||||
|     # copy the main binary | ||||
|     install -Dm755 "target/$TARGET/release/$PROJECT_NAME" "$tempdir/usr/bin/$PROJECT_NAME" | ||||
|     strip "$tempdir/usr/bin/$PROJECT_NAME" | ||||
|  | ||||
|     # readme and license | ||||
|     install -Dm644 README.md "$tempdir/usr/share/doc/$PROJECT_NAME/README.md" | ||||
|     install -Dm644 LICENSE-MIT "$tempdir/usr/share/doc/$PROJECT_NAME/LICENSE-MIT" | ||||
|     install -Dm644 LICENSE-APACHE "$tempdir/usr/share/doc/$PROJECT_NAME/LICENSE-APACHE" | ||||
|  | ||||
|     # Control file | ||||
|     mkdir "$tempdir/DEBIAN" | ||||
|     cat > "$tempdir/DEBIAN/control" <<EOF | ||||
| Package: $dpkgname | ||||
| Version: $version | ||||
| Section: utils | ||||
| Priority: optional | ||||
| Maintainer: David Peter <mail@david-peter.de> | ||||
| Architecture: $architecture | ||||
| Provides: $PROJECT_NAME | ||||
| Conflicts: $conflictname | ||||
| Description: A cat(1) clone with wings. | ||||
| EOF | ||||
|  | ||||
|     fakeroot dpkg-deb --build "$tempdir" "${dpkgname}_${version}_${architecture}.deb" | ||||
| } | ||||
|  | ||||
|  | ||||
| main() { | ||||
|     build | ||||
|     pack | ||||
|     if [[ $TARGET = *linux* ]]; then | ||||
|       make_deb | ||||
|     fi | ||||
| } | ||||
|  | ||||
| main | ||||
		Reference in New Issue
	
	Block a user