From 11a3fef5bcf901aa119570568c06c08752b14910 Mon Sep 17 00:00:00 2001 From: Pascal Fischer Date: Mon, 5 Jun 2023 12:10:18 +0200 Subject: [PATCH] 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 }'