Skip to content

Commit

Permalink
Cloak for macos fat binary ci/cd implemented
Browse files Browse the repository at this point in the history
[cloak]
  • Loading branch information
yaroslavyaroslav committed Feb 7, 2025
1 parent 9c90bdf commit caa8a9f
Showing 1 changed file with 25 additions and 19 deletions.
44 changes: 25 additions & 19 deletions .github/workflows/build_cloak.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on: [push]


jobs:

Build-Cloak:
name: 'Build-Cloak'
runs-on: ubuntu-latest
Expand Down Expand Up @@ -52,64 +51,65 @@ jobs:
mkdir ./release/plugin/linux
CGO_ENABLED=1 GOOS="linux" GOARCH="amd64" go build -v -o ./release/plugin/linux/ck-ovpn-plugin.a -buildmode=c-archive ./cmd/ck-ovpn-plugin/
mkdir ./release/plugin/windows
CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS="windows" GOARCH="amd64" go build -v -o ./release/plugin/windows/ck-ovpn-plugin.dll -buildmode=c-shared ./cmd/ck-ovpn-plugin/
CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS="windows" GOARCH="amd64" go build -v -o ./release/plugin/windows/ck-ovpn-plugin.dll -buildmode=c-shared ./cmd/ck-ovpn-plugin/
- name: Archive Linux client binary
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
retention-days: 1
name: ck-client-linux
path: '~/work/3rd-build-ga/3rd-build-ga/Cloak/release/ck-client-linux*'

- name: Archive Windows client binary
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
retention-days: 1
name: ck-client-windows
path: '~/work/3rd-build-ga/3rd-build-ga/Cloak/release/ck-client-windows*'

- name: Archive Darwin client binary
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
retention-days: 1
name: ck-client-darwin
path: '~/work/3rd-build-ga/3rd-build-ga/Cloak/release/ck-client-darwin*'

- name: Archive Linux server binary
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
retention-days: 1
name: ck-server
path: '~/work/3rd-build-ga/3rd-build-ga/Cloak/release/ck-server-linux*'

- name: Archive Plugin
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
retention-days: 1
name: desktop-plugin
path: '~/work/3rd-build-ga/3rd-build-ga/Cloak/release/plugin'

Build-Cloak-MacOS:
runs-on: macos-12
runs-on: macos-13
if: |
contains(github.event.head_commit.message, '[all]') ||
contains(github.event.head_commit.message, '[macos]') ||
contains(github.event.head_commit.message, '[cloak]')
name: "Build Cloak Desktop plugin"
name: "Build Cloak macOS plugin (fat)"
steps:

- name: Get Cloak
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: amnezia-vpn/Cloak
ref: master-amnezia
path: Cloak

# - name: 'Run build script'
# working-directory: Cloak
# run: |
# CGO_ENABLED=1 GOOS="darwin" GOARCH="amd64" go build -v -o ./release/plugin/darwin/ck-ovpn-plugin.a -buildmode=c-archive ./cmd/ck-ovpn-plugin/
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.21'

- name: Build for x86_64
working-directory: Cloak
run: |
Expand All @@ -126,14 +126,15 @@ jobs:
lipo -create -output ./release/plugin/darwin/ck-ovpn-plugin.a \
./release/plugin/darwin/ck-ovpn-plugin-x86_64.a \
./release/plugin/darwin/ck-ovpn-plugin-arm64.a
- name: Archive artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: darwin-pt
path: Cloak/release/plugin

Build-Cloak-iOS:
runs-on: macos-12
runs-on: macos-13
if: |
contains(github.event.head_commit.message, '[all]') ||
contains(github.event.head_commit.message, '[ios]') ||
Expand All @@ -143,27 +144,32 @@ jobs:
steps:

- name: Get Cloak
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: amnezia-vpn/Cloak
ref: master-amnezia
path: Cloak

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.21'

- name: 'Run build script'
working-directory: Cloak
run: |
GOOS=ios GOARCH=arm64 GOFLAGS="-tags=ios" CGO_CFLAGS="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=9.0 -fembed-bitcode -arch arm64" CGO_CXXFLAGS="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=9.0 -fembed-bitcode -arch arm64" CGO_LDFLAGS="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=9.0 -fembed-bitcode -arch arm64" CGO_ENABLED=1 go build -buildmode=c-archive -o ck-ovpn-plugin.a ./cmd/ck-ovpn-plugin
- name: Archive iOS client binary
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
retention-days: 1
name: ck-ios-plugin
path: '~/work/3rd-build-ga/3rd-build-ga/Cloak/ck-ovpn-plugin*'

github-release:
name: GitHub Release
needs: Build-Cloak
needs: [Build-Cloak-iOS, Build-Cloak-MacOS]
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')

Expand Down

0 comments on commit caa8a9f

Please sign in to comment.