mirror of
				https://github.com/nkanaev/yarr.git
				synced 2025-10-29 22:29:59 +00:00 
			
		
		
		
	add linux arm and arm64 builders
This commit is contained in:
		
							
								
								
									
										83
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										83
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							| @@ -75,9 +75,9 @@ jobs: | |||||||
|       uses: actions/cache@v4 |       uses: actions/cache@v4 | ||||||
|       with: |       with: | ||||||
|         path: ~/go/pkg/mod |         path: ~/go/pkg/mod | ||||||
|         key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} |         key: ${{ runner.os }}-amd64-go-${{ hashFiles('**/go.sum') }} | ||||||
|         restore-keys: | |         restore-keys: | | ||||||
|           ${{ runner.os }}-go- |           ${{ runner.os }}-go-amd64 | ||||||
|     - name: "Build" |     - name: "Build" | ||||||
|       run: make build_linux |       run: make build_linux | ||||||
|     - name: Upload |     - name: Upload | ||||||
| @@ -86,11 +86,82 @@ jobs: | |||||||
|         name: linux |         name: linux | ||||||
|         path: _output/linux/yarr |         path: _output/linux/yarr | ||||||
|  |  | ||||||
|  |   build_linux-arm: | ||||||
|  |     name: Build for Linux ARM | ||||||
|  |     runs-on: ubuntu-22.04 | ||||||
|  |     steps: | ||||||
|  |     - name: Install dependencies | ||||||
|  |       run: > | ||||||
|  |         sudo apt-get install -y | ||||||
|  |         gcc-arm-linux-gnueabihf | ||||||
|  |         libc6-dev-armhf-cross | ||||||
|  |     - name: "Checkout" | ||||||
|  |       uses: actions/checkout@v2 | ||||||
|  |       with: | ||||||
|  |         submodules: 'recursive' | ||||||
|  |     - name: "Setup Go" | ||||||
|  |       uses: actions/setup-go@v2 | ||||||
|  |       with: | ||||||
|  |         go-version: '^1.17' | ||||||
|  |     - name: Cache Go Modules | ||||||
|  |       uses: actions/cache@v4 | ||||||
|  |       with: | ||||||
|  |         path: ~/go/pkg/mod | ||||||
|  |         key: ${{ runner.os }}-armv7-go-${{ hashFiles('**/go.sum') }} | ||||||
|  |         restore-keys: | | ||||||
|  |           ${{ runner.os }}-go-armv7 | ||||||
|  |     - name: "Build" | ||||||
|  |       env: | ||||||
|  |         CC: arm-linux-gnueabihf-gcc | ||||||
|  |         GOARCH: arm | ||||||
|  |         GOARM: 7 | ||||||
|  |       run: make build_linux | ||||||
|  |     - name: Upload | ||||||
|  |       uses: actions/upload-artifact@v4 | ||||||
|  |       with: | ||||||
|  |         name: linux_arm | ||||||
|  |         path: _output/linux/yarr | ||||||
|  |  | ||||||
|  |   build_linux-arm64: | ||||||
|  |     name: Build for Linux ARM64 | ||||||
|  |     runs-on: ubuntu-22.04 | ||||||
|  |     steps: | ||||||
|  |     - name: Install dependencies | ||||||
|  |       run: > | ||||||
|  |         sudo apt-get install -y | ||||||
|  |         gcc-aarch64-linux-gnu | ||||||
|  |         libc6-dev-arm64-cross | ||||||
|  |     - name: "Checkout" | ||||||
|  |       uses: actions/checkout@v2 | ||||||
|  |       with: | ||||||
|  |         submodules: 'recursive' | ||||||
|  |     - name: "Setup Go" | ||||||
|  |       uses: actions/setup-go@v2 | ||||||
|  |       with: | ||||||
|  |         go-version: '^1.17' | ||||||
|  |     - name: Cache Go Modules | ||||||
|  |       uses: actions/cache@v4 | ||||||
|  |       with: | ||||||
|  |         path: ~/go/pkg/mod | ||||||
|  |         key: ${{ runner.os }}-arm64-go-${{ hashFiles('**/go.sum') }} | ||||||
|  |         restore-keys: | | ||||||
|  |           ${{ runner.os }}-go-arm64 | ||||||
|  |     - name: "Build" | ||||||
|  |       env: | ||||||
|  |         CC: aarch64-linux-gnu-gcc | ||||||
|  |         GOARCH: arm64 | ||||||
|  |       run: make build_linux | ||||||
|  |     - name: Upload | ||||||
|  |       uses: actions/upload-artifact@v4 | ||||||
|  |       with: | ||||||
|  |         name: linux_arm64 | ||||||
|  |         path: _output/linux/yarr | ||||||
|  |  | ||||||
|   create_release: |   create_release: | ||||||
|     name: Create Release |     name: Create Release | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     if: ${{ !contains(github.ref, 'test') }} |     if: ${{ !contains(github.ref, 'test') }} | ||||||
|     needs: [build_macos, build_windows, build_linux] |     needs: [build_macos, build_windows, build_linux, build_linux-arm, build_linux-arm64] | ||||||
|     steps: |     steps: | ||||||
|     - name: Download Artifacts |     - name: Download Artifacts | ||||||
|       uses: actions/download-artifact@v4.1.7 |       uses: actions/download-artifact@v4.1.7 | ||||||
| @@ -101,10 +172,14 @@ jobs: | |||||||
|         ls -R |         ls -R | ||||||
|         chmod u+x macos/Contents/MacOS/yarr |         chmod u+x macos/Contents/MacOS/yarr | ||||||
|         chmod u+x linux/yarr |         chmod u+x linux/yarr | ||||||
|  |         chmod u+x linux_arm/yarr | ||||||
|  |         chmod u+x linux_arm64/yarr | ||||||
|  |  | ||||||
|         mv macos yarr.app && zip -r yarr-${GITHUB_REF_NAME}-macos64.zip yarr.app |         mv macos yarr.app && zip -r yarr-${GITHUB_REF_NAME}-macos64.zip yarr.app | ||||||
|         ( cd windows        && zip ../yarr-${GITHUB_REF_NAME}-windows64.zip yarr.exe ) |         ( cd windows        && zip ../yarr-${GITHUB_REF_NAME}-windows64.zip yarr.exe ) | ||||||
|         ( cd linux          && zip ../yarr-${GITHUB_REF_NAME}-linux64.zip yarr ) |         ( cd linux          && zip ../yarr-${GITHUB_REF_NAME}-linux64.zip yarr ) | ||||||
|  |         ( cd linux_arm      && zip ../yarr-${GITHUB_REF_NAME}-linux_arm.zip yarr ) | ||||||
|  |         ( cd linux_arm64    && zip ../yarr-${GITHUB_REF_NAME}-linux_arm64.zip yarr ) | ||||||
|     - name: Upload Release |     - name: Upload Release | ||||||
|       uses: softprops/action-gh-release@v2 |       uses: softprops/action-gh-release@v2 | ||||||
|       env: |       env: | ||||||
| @@ -116,3 +191,5 @@ jobs: | |||||||
|             yarr-${{ github.ref_name }}-macos64.zip |             yarr-${{ github.ref_name }}-macos64.zip | ||||||
|             yarr-${{ github.ref_name }}-windows64.zip |             yarr-${{ github.ref_name }}-windows64.zip | ||||||
|             yarr-${{ github.ref_name }}-linux64.zip |             yarr-${{ github.ref_name }}-linux64.zip | ||||||
|  |             yarr-${{ github.ref_name }}-linux_arm.zip | ||||||
|  |             yarr-${{ github.ref_name }}-linux_arm64.zip | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user