|
19 | 19 | with: |
20 | 20 | ec2-instance-type: c5.large |
21 | 21 | ec2-image-id: ami-042a37e33a285c22b |
22 | | - submodules: 'recursive' |
| 22 | + submodules: 'false' |
23 | 23 | run_mode: 'start' # start ec2 on demand instance |
24 | 24 | upjob: update_version |
25 | 25 | command: | |
|
57 | 57 | submodules: 'recursive' |
58 | 58 | run_mode: 'start' # start ec2 on demand instance |
59 | 59 | upload_files: | |
60 | | - proton-*-Linux-x86_64* |
| 60 | + proton-*-Linux-x86_64.tar.gz |
| 61 | + proton-*-Linux-x86_64-debug-symbols.tar.gz |
61 | 62 | python-Linux-x86_64.tar.gz |
62 | 63 | prerelease: ${{ inputs.prerelease }} |
63 | 64 | ref: ${{ needs.update_version.outputs.tag_name }} |
@@ -122,6 +123,11 @@ jobs: |
122 | 123 | echo "Final sizes:" |
123 | 124 | ls -lh $PROTON_BINARY $PROTON_DEBUG |
124 | 125 |
|
| 126 | + # Package the binary into a tar.gz for faster downloads |
| 127 | + echo "Packaging binary tarball..." |
| 128 | + tar -czf ${PROTON_BINARY}.tar.gz $PROTON_BINARY |
| 129 | + ls -lh ${PROTON_BINARY}.tar.gz |
| 130 | +
|
125 | 131 | # Start static server for docker build |
126 | 132 | docker run --name static-server -p 8080:80 -v $GITHUB_WORKSPACE:/usr/share/nginx/html:ro -d nginx |
127 | 133 | cd $GITHUB_WORKSPACE/docker/server |
@@ -176,7 +182,8 @@ jobs: |
176 | 182 | ec2-image-id: ${{ vars.ARM_AMI }} |
177 | 183 | submodules: 'recursive' |
178 | 184 | run_mode: 'start' # start ec2 on demand instance |
179 | | - upload_files: proton-*-Linux-aarch64 |
| 185 | + upload_files: | |
| 186 | + proton-*-Linux-aarch64.tar.gz |
180 | 187 | prerelease: ${{ inputs.prerelease }} |
181 | 188 | ref: ${{ needs.update_version.outputs.tag_name }} |
182 | 189 | upjob: Build_Linux_Arm64 |
@@ -238,6 +245,12 @@ jobs: |
238 | 245 | aws s3 cp --no-progress ./cache-arm.tar.gz s3://tp-internal2/proton-oss/ |
239 | 246 | |
240 | 247 | mv $GITHUB_WORKSPACE/output/proton $GITHUB_WORKSPACE/$PROTON_BINARY |
| 248 | +
|
| 249 | + # Package the binary into a tar.gz for faster downloads |
| 250 | + echo "Packaging binary tarball..." |
| 251 | + cd $GITHUB_WORKSPACE |
| 252 | + tar -czf ${PROTON_BINARY}.tar.gz $PROTON_BINARY |
| 253 | + ls -lh ${PROTON_BINARY}.tar.gz |
241 | 254 | secrets: |
242 | 255 | AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} |
243 | 256 | AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} |
@@ -349,7 +362,8 @@ jobs: |
349 | 362 | ec2-image-id: ami-042a37e33a285c22b |
350 | 363 | submodules: 'recursive' |
351 | 364 | run_mode: 'start' # start ec2 on demand instance |
352 | | - upload_files: proton-*-Darwin-x86_64 |
| 365 | + upload_files: | |
| 366 | + proton-*-Darwin-x86_64.tar.gz |
353 | 367 | prerelease: ${{ inputs.prerelease }} |
354 | 368 | ref: ${{ needs.update_version.outputs.tag_name }} |
355 | 369 | upjob: Build_Darwin_X86_64 |
@@ -399,6 +413,12 @@ jobs: |
399 | 413 | sha256sum $GITHUB_WORKSPACE/output/proton |
400 | 414 |
|
401 | 415 | mv $GITHUB_WORKSPACE/output/proton $GITHUB_WORKSPACE/$PROTON_BINARY |
| 416 | +
|
| 417 | + # Package the binary into a tar.gz for faster downloads |
| 418 | + echo "Packaging binary tarball..." |
| 419 | + cd $GITHUB_WORKSPACE |
| 420 | + tar -czf ${PROTON_BINARY}.tar.gz $PROTON_BINARY |
| 421 | + ls -lh ${PROTON_BINARY}.tar.gz |
402 | 422 | secrets: |
403 | 423 | AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} |
404 | 424 | AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} |
@@ -475,7 +495,7 @@ jobs: |
475 | 495 | DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} |
476 | 496 |
|
477 | 497 | Build_Native_Darwin_arm64: |
478 | | - needs: Build_Linux_X86_64 |
| 498 | + needs: update_version |
479 | 499 | runs-on: [self-hosted, macOS, ARM64] |
480 | 500 | env: |
481 | 501 | build_directory: ${{ github.workspace }}/build |
@@ -590,6 +610,12 @@ jobs: |
590 | 610 | run: | |
591 | 611 | STRIPPED_BINARY=${{ env.build_directory }}/programs/proton-${{ env.LATEST_TAG }}-Darwin-arm64 |
592 | 612 | PYTHON_PACKAGE=${{ env.build_directory }}/programs/python-Darwin-arm64.tar.gz |
| 613 | + TARBALL=${STRIPPED_BINARY}.tar.gz |
| 614 | +
|
| 615 | + # Create tar.gz package for faster downloads |
| 616 | + echo "Packaging binary tarball..." |
| 617 | + tar -czf "$TARBALL" -C "$(dirname "$STRIPPED_BINARY")" "$(basename "$STRIPPED_BINARY")" |
| 618 | + ls -lh "$TARBALL" |
593 | 619 | |
594 | 620 | # Function to upload asset with retry |
595 | 621 | upload_asset_with_retry() { |
@@ -622,9 +648,9 @@ jobs: |
622 | 648 | done |
623 | 649 | } |
624 | 650 | |
625 | | - # Upload binary with retry |
626 | | - if ! upload_asset_with_retry "$STRIPPED_BINARY" "${{ env.LATEST_TAG }}"; then |
627 | | - echo "Binary upload failed after all attempts" |
| 651 | + # Upload tarball with retry |
| 652 | + if ! upload_asset_with_retry "$TARBALL" "${{ env.LATEST_TAG }}"; then |
| 653 | + echo "Tarball upload failed after all attempts" |
628 | 654 | exit 1 |
629 | 655 | fi |
630 | 656 | |
|
0 commit comments