From 10012ced9315e55c31e637dd6bf8ddd591baf051 Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Thu, 23 Jan 2025 14:44:15 +0100 Subject: [PATCH 1/3] don't use deprecated github actions --- .github/workflows/build.yml | 60 +++++++++++-------------------------- 1 file changed, 17 insertions(+), 43 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 66abc5d..3858ec9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,7 +18,7 @@ jobs: with: go-version: '^1.17' - name: Cache Go Modules - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} @@ -27,7 +27,7 @@ jobs: - name: "Build" run: make build_macos - name: Upload - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: macos path: _output/macos/yarr.app @@ -45,7 +45,7 @@ jobs: with: go-version: '^1.17' - name: Cache Go Modules - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} @@ -54,7 +54,7 @@ jobs: - name: "Build" run: make build_windows - name: Upload - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: windows path: _output/windows/yarr.exe @@ -72,7 +72,7 @@ jobs: with: go-version: '^1.17' - name: Cache Go Modules - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} @@ -81,7 +81,7 @@ jobs: - name: "Build" run: make build_linux - name: Upload - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: linux path: _output/linux/yarr @@ -92,16 +92,6 @@ jobs: if: ${{ !contains(github.ref, 'test') }} needs: [build_macos, build_windows, build_linux] steps: - - name: Create Release - uses: actions/create-release@v1 - id: create_release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ github.ref }} - release_name: ${{ github.ref }} - draft: true - prerelease: true - name: Download Artifacts uses: actions/download-artifact@v4.1.7 with: @@ -112,33 +102,17 @@ jobs: chmod u+x macos/Contents/MacOS/yarr chmod u+x linux/yarr - mv macos yarr.app && zip -r yarr-macos.zip yarr.app - mv windows/yarr.exe . && zip yarr-windows.zip yarr.exe - mv linux/yarr . && zip yarr-linux.zip yarr - - name: Upload MacOS - uses: actions/upload-release-asset@v1 + 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 linux && zip ../yarr-${GITHUB_REF_NAME}-linux64.zip yarr ) + - name: Upload Release + uses: softprops/action-gh-release@v2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./yarr-macos.zip - asset_name: yarr-${{ github.ref }}-macos64.zip - asset_content_type: application/zip - - name: Upload Windows - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./yarr-windows.zip - asset_name: yarr-${{ github.ref }}-windows64.zip - asset_content_type: application/zip - - name: Upload Linux - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./yarr-linux.zip - asset_name: yarr-${{ github.ref }}-linux64.zip - asset_content_type: application/zip + draft: true + prerelease: true + files: | + yarr-${{ github.ref_name }}-macos64.zip + yarr-${{ github.ref_name }}-windows64.zip + yarr-${{ github.ref_name }}-linux64.zip From 1739d5f19ff07e603a80611571f9f49eb9443fbf Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Thu, 23 Jan 2025 14:46:00 +0100 Subject: [PATCH 2/3] add linux arm and arm64 builders --- .github/workflows/build.yml | 83 +++++++++++++++++++++++++++++++++++-- 1 file changed, 80 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3858ec9..b83fff5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -75,9 +75,9 @@ jobs: uses: actions/cache@v4 with: path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + key: ${{ runner.os }}-amd64-go-${{ hashFiles('**/go.sum') }} restore-keys: | - ${{ runner.os }}-go- + ${{ runner.os }}-go-amd64 - name: "Build" run: make build_linux - name: Upload @@ -86,11 +86,82 @@ jobs: name: linux 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-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-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: name: Create Release runs-on: ubuntu-latest 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: - name: Download Artifacts uses: actions/download-artifact@v4.1.7 @@ -101,10 +172,14 @@ jobs: ls -R chmod u+x macos/Contents/MacOS/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 ( cd windows && zip ../yarr-${GITHUB_REF_NAME}-windows64.zip yarr.exe ) ( 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 uses: softprops/action-gh-release@v2 env: @@ -116,3 +191,5 @@ jobs: yarr-${{ github.ref_name }}-macos64.zip yarr-${{ github.ref_name }}-windows64.zip yarr-${{ github.ref_name }}-linux64.zip + yarr-${{ github.ref_name }}-linux_arm.zip + yarr-${{ github.ref_name }}-linux_arm64.zip From 5ee663c9dc22c00889f6af63ec5bdb3757ebb703 Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Thu, 23 Jan 2025 14:50:21 +0100 Subject: [PATCH 3/3] upload artifacts to push actions too --- .github/workflows/build.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b83fff5..5e9699e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,8 +1,6 @@ name: build -on: - push: - tags: ['v*', 'test*'] +on: push jobs: build_macos: @@ -160,7 +158,7 @@ jobs: create_release: name: Create Release runs-on: ubuntu-latest - if: ${{ !contains(github.ref, 'test') }} + if: ${{ startsWith(github.ref, 'refs/tags/') && !contains(github.ref, 'test') }} needs: [build_macos, build_windows, build_linux, build_linux-arm, build_linux-arm64] steps: - name: Download Artifacts