From 11a3fef5bcf901aa119570568c06c08752b14910 Mon Sep 17 00:00:00 2001 From: Pascal Fischer Date: Mon, 5 Jun 2023 12:10:18 +0200 Subject: [PATCH 1/3] add trigger for docs generation --- .github/workflows/release.yml | 381 ++++++++++++++++++---------------- 1 file changed, 197 insertions(+), 184 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dec8b208b..96b73050d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,6 +6,7 @@ on: - 'v*' branches: - main + - feature/add_docs_api_trigger pull_request: env: @@ -17,192 +18,204 @@ concurrency: cancel-in-progress: true jobs: - release: +# release: +# runs-on: ubuntu-latest +# steps: +# - +# name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 # It is required for GoReleaser to work properly +# - +# name: Set up Go +# uses: actions/setup-go@v2 +# with: +# go-version: "1.20" +# - +# name: Cache Go modules +# uses: actions/cache@v1 +# with: +# path: ~/go/pkg/mod +# key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} +# restore-keys: | +# ${{ runner.os }}-go- +# - +# name: Install modules +# run: go mod tidy +# - +# name: check git status +# run: git --no-pager diff --exit-code +# - +# name: Set up QEMU +# uses: docker/setup-qemu-action@v1 +# - +# name: Set up Docker Buildx +# uses: docker/setup-buildx-action@v1 +# - +# name: Login to Docker hub +# if: github.event_name != 'pull_request' +# uses: docker/login-action@v1 +# with: +# username: netbirdio +# password: ${{ secrets.DOCKER_TOKEN }} +# - name: Install OS build dependencies +# run: sudo apt update && sudo apt install -y -q gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu +# +# - name: Install rsrc +# run: go install github.com/akavel/rsrc@v0.10.2 +# - name: Generate windows rsrc amd64 +# run: rsrc -arch amd64 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_amd64.syso +# - name: Generate windows rsrc arm64 +# run: rsrc -arch arm64 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_arm64.syso +# - name: Generate windows rsrc arm +# run: rsrc -arch arm -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_arm.syso +# - name: Generate windows rsrc 386 +# run: rsrc -arch 386 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_386.syso +# - +# name: Run GoReleaser +# uses: goreleaser/goreleaser-action@v2 +# with: +# version: ${{ env.GORELEASER_VER }} +# args: release --rm-dist +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }} +# UPLOAD_DEBIAN_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} +# UPLOAD_YUM_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} +# - +# name: upload non tags for debug purposes +# uses: actions/upload-artifact@v2 +# with: +# name: release +# path: dist/ +# retention-days: 3 +# +# release_ui: +# runs-on: ubuntu-latest +# steps: +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 # It is required for GoReleaser to work properly +# +# - name: Set up Go +# uses: actions/setup-go@v2 +# with: +# go-version: "1.20" +# - name: Cache Go modules +# uses: actions/cache@v1 +# with: +# path: ~/go/pkg/mod +# key: ${{ runner.os }}-ui-go-${{ hashFiles('**/go.sum') }} +# restore-keys: | +# ${{ runner.os }}-ui-go- +# +# - name: Install modules +# run: go mod tidy +# +# - name: check git status +# run: git --no-pager diff --exit-code +# +# - name: Install dependencies +# run: sudo apt update && sudo apt install -y -q libgtk-3-dev libayatana-appindicator3-dev libgl1-mesa-dev xorg-dev gcc-mingw-w64-x86-64 +# - name: Install rsrc +# run: go install github.com/akavel/rsrc@v0.10.2 +# - name: Generate windows rsrc +# run: rsrc -arch amd64 -ico client/ui/netbird.ico -manifest client/ui/manifest.xml -o client/ui/resources_windows_amd64.syso +# - name: Run GoReleaser +# uses: goreleaser/goreleaser-action@v2 +# with: +# version: ${{ env.GORELEASER_VER }} +# args: release --config .goreleaser_ui.yaml --rm-dist +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }} +# UPLOAD_DEBIAN_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} +# UPLOAD_YUM_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} +# - name: upload non tags for debug purposes +# uses: actions/upload-artifact@v2 +# with: +# name: release-ui +# path: dist/ +# retention-days: 3 +# +# release_ui_darwin: +# runs-on: macos-11 +# steps: +# - +# name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 # It is required for GoReleaser to work properly +# - +# name: Set up Go +# uses: actions/setup-go@v2 +# with: +# go-version: "1.20" +# - +# name: Cache Go modules +# uses: actions/cache@v1 +# with: +# path: ~/go/pkg/mod +# key: ${{ runner.os }}-ui-go-${{ hashFiles('**/go.sum') }} +# restore-keys: | +# ${{ runner.os }}-ui-go- +# - +# name: Install modules +# run: go mod tidy +# - +# name: Run GoReleaser +# id: goreleaser +# uses: goreleaser/goreleaser-action@v2 +# with: +# version: ${{ env.GORELEASER_VER }} +# args: release --config .goreleaser_ui_darwin.yaml --rm-dist +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# - +# name: upload non tags for debug purposes +# uses: actions/upload-artifact@v2 +# with: +# name: release-ui-darwin +# path: dist/ +# retention-days: 3 +# +# trigger_windows_signer: +# runs-on: ubuntu-latest +# needs: [release,release_ui] +# if: startsWith(github.ref, 'refs/tags/') +# steps: +# - name: Trigger Windows binaries sign pipeline +# uses: benc-uk/workflow-dispatch@v1 +# with: +# workflow: Sign windows bin and installer +# repo: netbirdio/sign-pipelines +# ref: ${{ env.SIGN_PIPE_VER }} +# token: ${{ secrets.SIGN_GITHUB_TOKEN }} +# inputs: '{ "tag": "${{ github.ref }}" }' +# +# trigger_darwin_signer: +# runs-on: ubuntu-latest +# needs: [release,release_ui_darwin] +# if: startsWith(github.ref, 'refs/tags/') +# steps: +# - name: Trigger Darwin App binaries sign pipeline +# uses: benc-uk/workflow-dispatch@v1 +# with: +# workflow: Sign darwin ui app with dispatch +# repo: netbirdio/sign-pipelines +# ref: ${{ env.SIGN_PIPE_VER }} +# token: ${{ secrets.SIGN_GITHUB_TOKEN }} +# inputs: '{ "tag": "${{ github.ref }}" }' + + trigger_docs_build: runs-on: ubuntu-latest +# if: startsWith(github.ref, 'refs/tags/') steps: - - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 # It is required for GoReleaser to work properly - - - name: Set up Go - uses: actions/setup-go@v2 - with: - go-version: "1.20" - - - name: Cache Go modules - uses: actions/cache@v1 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-go- - - - name: Install modules - run: go mod tidy - - - name: check git status - run: git --no-pager diff --exit-code - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Login to Docker hub - if: github.event_name != 'pull_request' - uses: docker/login-action@v1 - with: - username: netbirdio - password: ${{ secrets.DOCKER_TOKEN }} - - name: Install OS build dependencies - run: sudo apt update && sudo apt install -y -q gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu - - - name: Install rsrc - run: go install github.com/akavel/rsrc@v0.10.2 - - name: Generate windows rsrc amd64 - run: rsrc -arch amd64 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_amd64.syso - - name: Generate windows rsrc arm64 - run: rsrc -arch arm64 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_arm64.syso - - name: Generate windows rsrc arm - run: rsrc -arch arm -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_arm.syso - - name: Generate windows rsrc 386 - run: rsrc -arch 386 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_386.syso - - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v2 - with: - version: ${{ env.GORELEASER_VER }} - args: release --rm-dist - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }} - UPLOAD_DEBIAN_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} - UPLOAD_YUM_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} - - - name: upload non tags for debug purposes - uses: actions/upload-artifact@v2 - with: - name: release - path: dist/ - retention-days: 3 - - release_ui: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 # It is required for GoReleaser to work properly - - - name: Set up Go - uses: actions/setup-go@v2 - with: - go-version: "1.20" - - name: Cache Go modules - uses: actions/cache@v1 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-ui-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-ui-go- - - - name: Install modules - run: go mod tidy - - - name: check git status - run: git --no-pager diff --exit-code - - - name: Install dependencies - run: sudo apt update && sudo apt install -y -q libgtk-3-dev libayatana-appindicator3-dev libgl1-mesa-dev xorg-dev gcc-mingw-w64-x86-64 - - name: Install rsrc - run: go install github.com/akavel/rsrc@v0.10.2 - - name: Generate windows rsrc - run: rsrc -arch amd64 -ico client/ui/netbird.ico -manifest client/ui/manifest.xml -o client/ui/resources_windows_amd64.syso - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v2 - with: - version: ${{ env.GORELEASER_VER }} - args: release --config .goreleaser_ui.yaml --rm-dist - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }} - UPLOAD_DEBIAN_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} - UPLOAD_YUM_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} - - name: upload non tags for debug purposes - uses: actions/upload-artifact@v2 - with: - name: release-ui - path: dist/ - retention-days: 3 - - release_ui_darwin: - runs-on: macos-11 - steps: - - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 # It is required for GoReleaser to work properly - - - name: Set up Go - uses: actions/setup-go@v2 - with: - go-version: "1.20" - - - name: Cache Go modules - uses: actions/cache@v1 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-ui-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-ui-go- - - - name: Install modules - run: go mod tidy - - - name: Run GoReleaser - id: goreleaser - uses: goreleaser/goreleaser-action@v2 - with: - version: ${{ env.GORELEASER_VER }} - args: release --config .goreleaser_ui_darwin.yaml --rm-dist - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: upload non tags for debug purposes - uses: actions/upload-artifact@v2 - with: - name: release-ui-darwin - path: dist/ - retention-days: 3 - - trigger_windows_signer: - runs-on: ubuntu-latest - needs: [release,release_ui] - if: startsWith(github.ref, 'refs/tags/') - steps: - - name: Trigger Windows binaries sign pipeline + - name: Trigger API pages generation and docs build uses: benc-uk/workflow-dispatch@v1 with: - workflow: Sign windows bin and installer - repo: netbirdio/sign-pipelines - ref: ${{ env.SIGN_PIPE_VER }} + workflow: docs site build and push + repo: netbirdio/docs token: ${{ secrets.SIGN_GITHUB_TOKEN }} - inputs: '{ "tag": "${{ github.ref }}" }' - - trigger_darwin_signer: - runs-on: ubuntu-latest - needs: [release,release_ui_darwin] - if: startsWith(github.ref, 'refs/tags/') - steps: - - name: Trigger Darwin App binaries sign pipeline - uses: benc-uk/workflow-dispatch@v1 - with: - workflow: Sign darwin ui app with dispatch - repo: netbirdio/sign-pipelines - ref: ${{ env.SIGN_PIPE_VER }} - token: ${{ secrets.SIGN_GITHUB_TOKEN }} - inputs: '{ "tag": "${{ github.ref }}" }' \ No newline at end of file + inputs: '{ "generateAPI": true }' From b50503f8b7276d73985dc31180c5f387b535c4e0 Mon Sep 17 00:00:00 2001 From: Pascal Fischer Date: Mon, 5 Jun 2023 12:13:28 +0200 Subject: [PATCH 2/3] add ref to main --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 96b73050d..6f49aab74 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -217,5 +217,6 @@ jobs: with: workflow: docs site build and push repo: netbirdio/docs + ref: "refs/heads/main" token: ${{ secrets.SIGN_GITHUB_TOKEN }} inputs: '{ "generateAPI": true }' From 7c6d29c9c5cbafbfaa636dd07e501c43c78409f9 Mon Sep 17 00:00:00 2001 From: Pascal Fischer Date: Mon, 5 Jun 2023 12:17:02 +0200 Subject: [PATCH 3/3] re-enable rest of release flow --- .github/workflows/release.yml | 381 +++++++++++++++++----------------- 1 file changed, 190 insertions(+), 191 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6f49aab74..a797c9425 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,6 @@ on: - 'v*' branches: - main - - feature/add_docs_api_trigger pull_request: env: @@ -18,199 +17,199 @@ concurrency: cancel-in-progress: true jobs: -# release: -# runs-on: ubuntu-latest -# steps: -# - -# name: Checkout -# uses: actions/checkout@v2 -# with: -# fetch-depth: 0 # It is required for GoReleaser to work properly -# - -# name: Set up Go -# uses: actions/setup-go@v2 -# with: -# go-version: "1.20" -# - -# name: Cache Go modules -# uses: actions/cache@v1 -# with: -# path: ~/go/pkg/mod -# key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} -# restore-keys: | -# ${{ runner.os }}-go- -# - -# name: Install modules -# run: go mod tidy -# - -# name: check git status -# run: git --no-pager diff --exit-code -# - -# name: Set up QEMU -# uses: docker/setup-qemu-action@v1 -# - -# name: Set up Docker Buildx -# uses: docker/setup-buildx-action@v1 -# - -# name: Login to Docker hub -# if: github.event_name != 'pull_request' -# uses: docker/login-action@v1 -# with: -# username: netbirdio -# password: ${{ secrets.DOCKER_TOKEN }} -# - name: Install OS build dependencies -# run: sudo apt update && sudo apt install -y -q gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu -# -# - name: Install rsrc -# run: go install github.com/akavel/rsrc@v0.10.2 -# - name: Generate windows rsrc amd64 -# run: rsrc -arch amd64 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_amd64.syso -# - name: Generate windows rsrc arm64 -# run: rsrc -arch arm64 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_arm64.syso -# - name: Generate windows rsrc arm -# run: rsrc -arch arm -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_arm.syso -# - name: Generate windows rsrc 386 -# run: rsrc -arch 386 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_386.syso -# - -# name: Run GoReleaser -# uses: goreleaser/goreleaser-action@v2 -# with: -# version: ${{ env.GORELEASER_VER }} -# args: release --rm-dist -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }} -# UPLOAD_DEBIAN_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} -# UPLOAD_YUM_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} -# - -# name: upload non tags for debug purposes -# uses: actions/upload-artifact@v2 -# with: -# name: release -# path: dist/ -# retention-days: 3 -# -# release_ui: -# runs-on: ubuntu-latest -# steps: -# - name: Checkout -# uses: actions/checkout@v2 -# with: -# fetch-depth: 0 # It is required for GoReleaser to work properly -# -# - name: Set up Go -# uses: actions/setup-go@v2 -# with: -# go-version: "1.20" -# - name: Cache Go modules -# uses: actions/cache@v1 -# with: -# path: ~/go/pkg/mod -# key: ${{ runner.os }}-ui-go-${{ hashFiles('**/go.sum') }} -# restore-keys: | -# ${{ runner.os }}-ui-go- -# -# - name: Install modules -# run: go mod tidy -# -# - name: check git status -# run: git --no-pager diff --exit-code -# -# - name: Install dependencies -# run: sudo apt update && sudo apt install -y -q libgtk-3-dev libayatana-appindicator3-dev libgl1-mesa-dev xorg-dev gcc-mingw-w64-x86-64 -# - name: Install rsrc -# run: go install github.com/akavel/rsrc@v0.10.2 -# - name: Generate windows rsrc -# run: rsrc -arch amd64 -ico client/ui/netbird.ico -manifest client/ui/manifest.xml -o client/ui/resources_windows_amd64.syso -# - name: Run GoReleaser -# uses: goreleaser/goreleaser-action@v2 -# with: -# version: ${{ env.GORELEASER_VER }} -# args: release --config .goreleaser_ui.yaml --rm-dist -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }} -# UPLOAD_DEBIAN_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} -# UPLOAD_YUM_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} -# - name: upload non tags for debug purposes -# uses: actions/upload-artifact@v2 -# with: -# name: release-ui -# path: dist/ -# retention-days: 3 -# -# release_ui_darwin: -# runs-on: macos-11 -# steps: -# - -# name: Checkout -# uses: actions/checkout@v2 -# with: -# fetch-depth: 0 # It is required for GoReleaser to work properly -# - -# name: Set up Go -# uses: actions/setup-go@v2 -# with: -# go-version: "1.20" -# - -# name: Cache Go modules -# uses: actions/cache@v1 -# with: -# path: ~/go/pkg/mod -# key: ${{ runner.os }}-ui-go-${{ hashFiles('**/go.sum') }} -# restore-keys: | -# ${{ runner.os }}-ui-go- -# - -# name: Install modules -# run: go mod tidy -# - -# name: Run GoReleaser -# id: goreleaser -# uses: goreleaser/goreleaser-action@v2 -# with: -# version: ${{ env.GORELEASER_VER }} -# args: release --config .goreleaser_ui_darwin.yaml --rm-dist -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# - -# name: upload non tags for debug purposes -# uses: actions/upload-artifact@v2 -# with: -# name: release-ui-darwin -# path: dist/ -# retention-days: 3 -# -# trigger_windows_signer: -# runs-on: ubuntu-latest -# needs: [release,release_ui] -# if: startsWith(github.ref, 'refs/tags/') -# steps: -# - name: Trigger Windows binaries sign pipeline -# uses: benc-uk/workflow-dispatch@v1 -# with: -# workflow: Sign windows bin and installer -# repo: netbirdio/sign-pipelines -# ref: ${{ env.SIGN_PIPE_VER }} -# token: ${{ secrets.SIGN_GITHUB_TOKEN }} -# inputs: '{ "tag": "${{ github.ref }}" }' -# -# trigger_darwin_signer: -# runs-on: ubuntu-latest -# needs: [release,release_ui_darwin] -# if: startsWith(github.ref, 'refs/tags/') -# steps: -# - name: Trigger Darwin App binaries sign pipeline -# uses: benc-uk/workflow-dispatch@v1 -# with: -# workflow: Sign darwin ui app with dispatch -# repo: netbirdio/sign-pipelines -# ref: ${{ env.SIGN_PIPE_VER }} -# token: ${{ secrets.SIGN_GITHUB_TOKEN }} -# inputs: '{ "tag": "${{ github.ref }}" }' + release: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 # It is required for GoReleaser to work properly + - + name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: "1.20" + - + name: Cache Go modules + uses: actions/cache@v1 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- + - + name: Install modules + run: go mod tidy + - + name: check git status + run: git --no-pager diff --exit-code + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - + name: Login to Docker hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: netbirdio + password: ${{ secrets.DOCKER_TOKEN }} + - name: Install OS build dependencies + run: sudo apt update && sudo apt install -y -q gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu + + - name: Install rsrc + run: go install github.com/akavel/rsrc@v0.10.2 + - name: Generate windows rsrc amd64 + run: rsrc -arch amd64 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_amd64.syso + - name: Generate windows rsrc arm64 + run: rsrc -arch arm64 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_arm64.syso + - name: Generate windows rsrc arm + run: rsrc -arch arm -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_arm.syso + - name: Generate windows rsrc 386 + run: rsrc -arch 386 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_386.syso + - + name: Run GoReleaser + uses: goreleaser/goreleaser-action@v2 + with: + version: ${{ env.GORELEASER_VER }} + args: release --rm-dist + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }} + UPLOAD_DEBIAN_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} + UPLOAD_YUM_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} + - + name: upload non tags for debug purposes + uses: actions/upload-artifact@v2 + with: + name: release + path: dist/ + retention-days: 3 + + release_ui: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 # It is required for GoReleaser to work properly + + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: "1.20" + - name: Cache Go modules + uses: actions/cache@v1 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-ui-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-ui-go- + + - name: Install modules + run: go mod tidy + + - name: check git status + run: git --no-pager diff --exit-code + + - name: Install dependencies + run: sudo apt update && sudo apt install -y -q libgtk-3-dev libayatana-appindicator3-dev libgl1-mesa-dev xorg-dev gcc-mingw-w64-x86-64 + - name: Install rsrc + run: go install github.com/akavel/rsrc@v0.10.2 + - name: Generate windows rsrc + run: rsrc -arch amd64 -ico client/ui/netbird.ico -manifest client/ui/manifest.xml -o client/ui/resources_windows_amd64.syso + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v2 + with: + version: ${{ env.GORELEASER_VER }} + args: release --config .goreleaser_ui.yaml --rm-dist + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }} + UPLOAD_DEBIAN_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} + UPLOAD_YUM_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }} + - name: upload non tags for debug purposes + uses: actions/upload-artifact@v2 + with: + name: release-ui + path: dist/ + retention-days: 3 + + release_ui_darwin: + runs-on: macos-11 + steps: + - + name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 # It is required for GoReleaser to work properly + - + name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: "1.20" + - + name: Cache Go modules + uses: actions/cache@v1 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-ui-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-ui-go- + - + name: Install modules + run: go mod tidy + - + name: Run GoReleaser + id: goreleaser + uses: goreleaser/goreleaser-action@v2 + with: + version: ${{ env.GORELEASER_VER }} + args: release --config .goreleaser_ui_darwin.yaml --rm-dist + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - + name: upload non tags for debug purposes + uses: actions/upload-artifact@v2 + with: + name: release-ui-darwin + path: dist/ + retention-days: 3 + + trigger_windows_signer: + runs-on: ubuntu-latest + needs: [release,release_ui] + if: startsWith(github.ref, 'refs/tags/') + steps: + - name: Trigger Windows binaries sign pipeline + uses: benc-uk/workflow-dispatch@v1 + with: + workflow: Sign windows bin and installer + repo: netbirdio/sign-pipelines + ref: ${{ env.SIGN_PIPE_VER }} + token: ${{ secrets.SIGN_GITHUB_TOKEN }} + inputs: '{ "tag": "${{ github.ref }}" }' + + trigger_darwin_signer: + runs-on: ubuntu-latest + needs: [release,release_ui_darwin] + if: startsWith(github.ref, 'refs/tags/') + steps: + - name: Trigger Darwin App binaries sign pipeline + uses: benc-uk/workflow-dispatch@v1 + with: + workflow: Sign darwin ui app with dispatch + repo: netbirdio/sign-pipelines + ref: ${{ env.SIGN_PIPE_VER }} + token: ${{ secrets.SIGN_GITHUB_TOKEN }} + inputs: '{ "tag": "${{ github.ref }}" }' trigger_docs_build: runs-on: ubuntu-latest -# if: startsWith(github.ref, 'refs/tags/') + if: startsWith(github.ref, 'refs/tags/') steps: - name: Trigger API pages generation and docs build uses: benc-uk/workflow-dispatch@v1