feat(release): use cargo-zigbuild to build for glibc 2.17 (#660)
This commit is contained in:
		
							parent
							
								
									ac959ccbbe
								
							
						
					
					
						commit
						2ff2456fcb
					
				
							
								
								
									
										27
									
								
								.github/workflows/release.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								.github/workflows/release.yaml
									
									
									
									
										vendored
									
									
								
							@ -56,8 +56,6 @@ jobs:
 | 
				
			|||||||
            os_name: linux
 | 
					            os_name: linux
 | 
				
			||||||
            arch: x86_64
 | 
					            arch: x86_64
 | 
				
			||||||
            rust_target: x86_64-unknown-linux-gnu
 | 
					            rust_target: x86_64-unknown-linux-gnu
 | 
				
			||||||
            docker_platform: linux/amd64
 | 
					 | 
				
			||||||
            container: quay.io/pypa/manylinux2014_x86_64 # for glibc 2.17
 | 
					 | 
				
			||||||
          - os: ubuntu-latest
 | 
					          - os: ubuntu-latest
 | 
				
			||||||
            os_name: linux
 | 
					            os_name: linux
 | 
				
			||||||
            arch: aarch64
 | 
					            arch: aarch64
 | 
				
			||||||
@ -85,28 +83,27 @@ jobs:
 | 
				
			|||||||
      - uses: actions/checkout@v4
 | 
					      - uses: actions/checkout@v4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - uses: Swatinem/rust-cache@v2
 | 
					      - uses: Swatinem/rust-cache@v2
 | 
				
			||||||
        if: ${{ matrix.config.container == null }}
 | 
					
 | 
				
			||||||
      - uses: dtolnay/rust-toolchain@master
 | 
					      - uses: dtolnay/rust-toolchain@master
 | 
				
			||||||
        if: ${{ matrix.config.container == null }}
 | 
					 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          targets: ${{ matrix.config.rust_target }}
 | 
					          targets: ${{ matrix.config.rust_target }}
 | 
				
			||||||
          toolchain: 1.80.0
 | 
					          toolchain: 1.80.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Install cargo-zigbuild
 | 
				
			||||||
 | 
					        if: ${{ matrix.config.os_name == 'linux' }}
 | 
				
			||||||
 | 
					        uses: baptiste0928/cargo-install@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          crate: cargo-zigbuild
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Build all crates
 | 
					      - name: Build all crates
 | 
				
			||||||
        if: ${{ matrix.config.container == null }}
 | 
					        if: ${{ matrix.config.os_name != 'linux' }}
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          cargo build --release --features ${{ matrix.feature }}
 | 
					          cargo build --release --features ${{ matrix.feature }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Build all crates with glibc 2.17 # for glibc 2.17
 | 
					      - name: Build all crates with glibc 2.17
 | 
				
			||||||
        if: ${{ matrix.config.container != null }}
 | 
					        if: ${{ matrix.config.os_name == 'linux' }}
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          # sudo apt-get install -y qemu qemu-user-static
 | 
					          cargo zigbuild --target ${{ matrix.config.rust_target }}.2.17 --release --features ${{ matrix.feature }}
 | 
				
			||||||
          docker run \
 | 
					 | 
				
			||||||
            --rm \
 | 
					 | 
				
			||||||
            -v $(pwd):/workspace \
 | 
					 | 
				
			||||||
            -w /workspace \
 | 
					 | 
				
			||||||
            --platform ${{ matrix.config.docker_platform }} \
 | 
					 | 
				
			||||||
            ${{ matrix.config.container }} \
 | 
					 | 
				
			||||||
            bash -c "yum install -y openssl-devel && curl --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal && . /root/.cargo/env && cargo build --release --features ${{ matrix.feature }}"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Handle binaries
 | 
					      - name: Handle binaries
 | 
				
			||||||
        if: ${{ matrix.config.os_name != 'windows' }}
 | 
					        if: ${{ matrix.config.os_name != 'windows' }}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user