mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-11 07:59:08 +02:00
Generate app zip files and homebrew file
This commit is contained in:
+105
-75
@@ -9,78 +9,78 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
# release:
|
||||||
runs-on: ubuntu-latest
|
# runs-on: ubuntu-latest
|
||||||
steps:
|
# steps:
|
||||||
-
|
# -
|
||||||
name: Checkout
|
# name: Checkout
|
||||||
uses: actions/checkout@v2
|
# uses: actions/checkout@v2
|
||||||
with:
|
# with:
|
||||||
fetch-depth: 0 # It is required for GoReleaser to work properly
|
# fetch-depth: 0 # It is required for GoReleaser to work properly
|
||||||
|
#
|
||||||
- name: Generate syso with DLL
|
# - name: Generate syso with DLL
|
||||||
run: bash -x wireguard_nt.sh
|
# run: bash -x wireguard_nt.sh
|
||||||
working-directory: client
|
# working-directory: client
|
||||||
-
|
# -
|
||||||
name: Set up Go
|
# name: Set up Go
|
||||||
uses: actions/setup-go@v2
|
# uses: actions/setup-go@v2
|
||||||
with:
|
# with:
|
||||||
go-version: 1.18
|
# go-version: 1.18
|
||||||
-
|
# -
|
||||||
name: Cache Go modules
|
# name: Cache Go modules
|
||||||
uses: actions/cache@v1
|
# uses: actions/cache@v1
|
||||||
with:
|
# with:
|
||||||
path: ~/go/pkg/mod
|
# path: ~/go/pkg/mod
|
||||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
# key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||||
restore-keys: |
|
# restore-keys: |
|
||||||
${{ runner.os }}-go-
|
# ${{ runner.os }}-go-
|
||||||
-
|
# -
|
||||||
name: Install modules
|
# name: Install modules
|
||||||
run: go mod tidy
|
# run: go mod tidy
|
||||||
-
|
# -
|
||||||
name: Set up QEMU
|
# name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v1
|
# uses: docker/setup-qemu-action@v1
|
||||||
-
|
# -
|
||||||
name: Set up Docker Buildx
|
# name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v1
|
# uses: docker/setup-buildx-action@v1
|
||||||
-
|
# -
|
||||||
name: Login to Docker hub
|
# name: Login to Docker hub
|
||||||
if: github.event_name != 'pull_request'
|
# if: github.event_name != 'pull_request'
|
||||||
uses: docker/login-action@v1
|
# uses: docker/login-action@v1
|
||||||
with:
|
# with:
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
# username: ${{ secrets.DOCKER_USER }}
|
||||||
password: ${{ secrets.DOCKER_TOKEN }}
|
# password: ${{ secrets.DOCKER_TOKEN }}
|
||||||
- name: Install dependencies
|
# - name: Install dependencies
|
||||||
run: sudo apt update && sudo apt install -y -q libgtk-3-dev libappindicator3-dev libayatana-appindicator3-dev libgl1-mesa-dev xorg-dev gcc-mingw-w64-x86-64
|
# run: sudo apt update && sudo apt install -y -q libgtk-3-dev libappindicator3-dev libayatana-appindicator3-dev libgl1-mesa-dev xorg-dev gcc-mingw-w64-x86-64
|
||||||
-
|
# -
|
||||||
name: Run GoReleaser
|
# name: Run GoReleaser
|
||||||
uses: goreleaser/goreleaser-action@v2
|
# uses: goreleaser/goreleaser-action@v2
|
||||||
with:
|
# with:
|
||||||
version: v1.6.3
|
# version: v1.6.3
|
||||||
args: release --rm-dist
|
# args: release --rm-dist
|
||||||
env:
|
# env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}
|
# HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}
|
||||||
UPLOAD_DEBIAN_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }}
|
# UPLOAD_DEBIAN_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }}
|
||||||
UPLOAD_YUM_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }}
|
# UPLOAD_YUM_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }}
|
||||||
|
#
|
||||||
-
|
# -
|
||||||
name: Trigger Windows binaries sign pipeline
|
# name: Trigger Windows binaries sign pipeline
|
||||||
uses: benc-uk/workflow-dispatch@v1
|
# uses: benc-uk/workflow-dispatch@v1
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
# if: startsWith(github.ref, 'refs/tags/')
|
||||||
with:
|
# with:
|
||||||
workflow: Sign windows bin and installer
|
# workflow: Sign windows bin and installer
|
||||||
repo: wiretrustee/windows-sign-pipeline
|
# repo: wiretrustee/windows-sign-pipeline
|
||||||
ref: v0.0.2
|
# ref: v0.0.2
|
||||||
token: ${{ secrets.SIGN_GITHUB_TOKEN }}
|
# token: ${{ secrets.SIGN_GITHUB_TOKEN }}
|
||||||
inputs: '{ "tag": "${{ github.ref }}" }'
|
# inputs: '{ "tag": "${{ github.ref }}" }'
|
||||||
-
|
# -
|
||||||
name: upload non tags for debug purposes
|
# name: upload non tags for debug purposes
|
||||||
uses: actions/upload-artifact@v2
|
# uses: actions/upload-artifact@v2
|
||||||
with:
|
# with:
|
||||||
name: build
|
# name: build
|
||||||
path: dist/
|
# path: dist/
|
||||||
retention-days: 3
|
# retention-days: 3
|
||||||
|
|
||||||
release_ui:
|
release_ui:
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
@@ -108,15 +108,45 @@ jobs:
|
|||||||
run: go mod tidy
|
run: go mod tidy
|
||||||
-
|
-
|
||||||
name: Run GoReleaser
|
name: Run GoReleaser
|
||||||
|
id: goreleaser
|
||||||
uses: goreleaser/goreleaser-action@v2
|
uses: goreleaser/goreleaser-action@v2
|
||||||
with:
|
with:
|
||||||
version: v1.6.3
|
version: v1.6.3
|
||||||
args: release --config .goreleaser_ui_darwin.yaml --rm-dist
|
args: release --config .goreleaser_ui_darwin.yaml --rm-dist
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}
|
-
|
||||||
UPLOAD_DEBIAN_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }}
|
name: Checkout homebrew
|
||||||
UPLOAD_YUM_SECRET: ${{ secrets.PKG_UPLOAD_SECRET }}
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: mlsmaycon/homebrew-client
|
||||||
|
fetch-depth: 0 # It is required for GoReleaser to work properly
|
||||||
|
path: 'template'
|
||||||
|
clean: false
|
||||||
|
ref: main
|
||||||
|
|
||||||
|
- run: rm -fr template/.git
|
||||||
|
|
||||||
|
- run: brew install gomplate
|
||||||
|
- run: |
|
||||||
|
echo ${{ steps.goreleaser.outputs.metadata}} || true
|
||||||
|
echo ${{ steps.goreleaser.outputs.Metadata}} || true
|
||||||
|
export PROJECT=netbird-ui
|
||||||
|
export AMD=$(ls -1 dist/${PROJECT}*amd64.zip)
|
||||||
|
export ARM=$(ls -1 dist/${PROJECT}*amd64.zip)
|
||||||
|
export VERSION=$(echo $AMD|egrep -o "${PROJECT}.+zip"|sed -E 's/.+app_(.+)_darwin_amd64.zip/\1/')
|
||||||
|
gomplate -f client/ui/netbird-ui.rb.tmpl -o template/netbird-ui.rb
|
||||||
|
|
||||||
|
- name: Pushes to another repository
|
||||||
|
uses: cpina/github-action-push-to-another-repository@main
|
||||||
|
env:
|
||||||
|
API_TOKEN_GITHUB: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
source-directory: 'template'
|
||||||
|
destination-github-username: 'mlsmaycon'
|
||||||
|
destination-repository-name: 'homebrew-client'
|
||||||
|
user-email: ci@netbird.io
|
||||||
|
target-branch: main
|
||||||
-
|
-
|
||||||
name: upload non tags for debug purposes
|
name: upload non tags for debug purposes
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>netbird-ui</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>Netbird</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
Binary file not shown.
@@ -0,0 +1,20 @@
|
|||||||
|
{{ $projectName := env.Getenv "PROJECT" }}{{ $amdFilePath := env.Getenv "AMD" }}{{ $armFilePath := env.Getenv "ARM" }}
|
||||||
|
{{ $amdFile := filepath.Base $amdFilePath }}{{ $armFile := filepath.Base $armFilePath }}{{ $amdFileBytes := file.Read $amdFilePath }}
|
||||||
|
{{ $armFileBytes := file.Read $armFilePath }}# Netbird's UI Client Cask Formula
|
||||||
|
cask "{{ $projectName }}" do
|
||||||
|
version "{{ env.Getenv "VERSION" }}"
|
||||||
|
|
||||||
|
if Hardware::CPU.intel?
|
||||||
|
url "file:////Users/maycon/projects/mls-netbird/dist/{{ $amdFile }}"
|
||||||
|
sha256 "{{ crypto.SHA256 $amdFileBytes }}"
|
||||||
|
else
|
||||||
|
url "file:////Users/maycon/projects/mls-netbird/dist/{{ $armFile }}"
|
||||||
|
sha256 "{{ crypto.SHA256 $armFileBytes }}"
|
||||||
|
end
|
||||||
|
|
||||||
|
name "Netbird UI"
|
||||||
|
desc "Netbird UI Client"
|
||||||
|
homepage "https://www.netbird.io/"
|
||||||
|
|
||||||
|
app "#{version}", target: "Netbird UI.app"
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user