feat: handle specified tcp relay directly #432
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: container build and push | |
on: | |
push: | |
branches: [ "*" ] | |
tags: [ '*.*.*' ] | |
pull_request: | |
branches: [ "*" ] | |
env: | |
REGISTRY: ghcr.io | |
EULIX_REGISTRY: hub.eulix.xyz | |
HUAWEICLOUD_REGISTRY_SH: swr.cn-east-3.myhuaweicloud.com | |
HUAWEICLOUD_REGISTRY_BJ: swr.cn-north-4.myhuaweicloud.com | |
HUAWEICLOUD_REGISTRY_GZ: swr.cn-south-1.myhuaweicloud.com | |
HUAWEICLOUD_REGISTRY_HK: swr.ap-southeast-1.myhuaweicloud.com | |
HUAWEICLOUD_REGISTRY_SG: swr.ap-southeast-3.myhuaweicloud.com | |
HUAWEICLOUD_REGISTRY_AF: swr.af-south-1.myhuaweicloud.com | |
HUAWEICLOUD_REGISTRY_LA: swr.la-north-2.myhuaweicloud.com | |
IMAGE_NAME: ${{ github.repository }} | |
jobs: | |
build-windows: | |
runs-on: windows-latest | |
permissions: | |
contents: read | |
packages: write | |
id-token: write | |
steps: | |
- name: Configure Environment | |
shell: powershell | |
run: |- | |
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1 | |
git config --system core.longpaths true | |
echo "--------------------Install Microsoft.UI.Xaml-------------------" | |
$SourceUrl = "https://www.nuget.org/api/v2/package/Microsoft.UI.Xaml/2.7.3" | |
$DestinationFile = ".\microsoft.ui.xaml.2.7.3.zip" # 保存到当前目录并保持.nupkg扩展名 | |
$ExtractDirectory = ".\uixaml" | |
# 创建目标解压目录(如果不存在) | |
if (!(Test-Path -Path $ExtractDirectory)) { | |
New-Item -ItemType Directory -Path $ExtractDirectory | Out-Null | |
} | |
# 下载.nupkg文件 | |
Invoke-WebRequest -Uri $SourceUrl -OutFile $DestinationFile | |
# 解压.nupkg文件到指定目录(PowerShell 5.0及以上版本支持) | |
Expand-Archive -Path $DestinationFile -DestinationPath $ExtractDirectory | |
Copy-Item -Path .\uixaml\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.7.appx -Destination . | |
Add-AppxPackage -Path .\Microsoft.UI.Xaml.2.7.appx | |
echo "------------------------Install vclibs--------------------------" | |
Invoke-WebRequest -Uri 'https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx' -OutFile '.\Microsoft.VCLibs.x64.14.00.Desktop.appx' | |
Add-AppxPackage -Path .\Microsoft.VCLibs.x64.14.00.Desktop.appx | |
echo "---------------------Install winget------------------------" | |
Invoke-WebRequest -Uri 'https://github.com/microsoft/winget-cli/releases/download/v1.6.3421/65f132d72c1d44518a19d1a9c3de8e1f_License1.xml' -OutFile '.\65f132d72c1d44518a19d1a9c3de8e1f_License1.xml' | |
Invoke-WebRequest -Uri 'https://github.com/microsoft/winget-cli/releases/download/v1.6.3421/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle' -OutFile '.\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle' | |
Add-AppxPackage .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle | |
Add-AppxProvisionedPackage -Online -Package .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -LicensePath .\65f132d72c1d44518a19d1a9c3de8e1f_License1.xml | |
echo "---------------Install VisualStudio 2022---------------------- " | |
winget install --source winget --id Microsoft.VisualStudio.2022.Community --override "--quiet --add Microsoft.VisualStudio.Component.CoreEditor --add Microsoft.VisualStudio.Workload.CoreEditor --add Microsoft.VisualStudio.Component.TypeScript.TSServer --add Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions --add Microsoft.VisualStudio.Component.JavaScript.TypeScript --add Microsoft.VisualStudio.Component.Roslyn.Compiler --add Microsoft.Component.MSBuild --add Microsoft.VisualStudio.Component.Roslyn.LanguageServices --add Microsoft.VisualStudio.Component.TextTemplating --add Microsoft.VisualStudio.Component.NuGet --add Microsoft.VisualStudio.Component.Debugger.JustInTime --add Component.Microsoft.VisualStudio.LiveShare.2022 --add Microsoft.VisualStudio.Component.IntelliCode --add Microsoft.VisualStudio.Component.VC.CoreIde --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Graphics.Tools --add Microsoft.VisualStudio.Component.VC.DiagnosticTools --add Microsoft.VisualStudio.Component.Windows11SDK.22621 --add Microsoft.VisualStudio.Component.VC.ATL --add Microsoft.VisualStudio.Component.SecurityIssueAnalysis --add Microsoft.VisualStudio.Component.VC.ATLMFC --add Microsoft.VisualStudio.Component.VC.Modules.x86.x64 --add Component.IncredibuildMenu --add Component.Incredibuild --add Microsoft.VisualStudio.Component.VC.Redist.14.Latest --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core --add Microsoft.VisualStudio.Component.Windows11Sdk.WindowsPerformanceToolkit --add Microsoft.VisualStudio.Component.CppBuildInsights --add Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.CMake --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest --add Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest --add Microsoft.VisualStudio.Component.VC.ASAN --add Microsoft.VisualStudio.Component.Vcpkg --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang --add Microsoft.VisualStudio.Workload.NativeDesktop" | |
winget install --source winget --id Microsoft.VisualStudio.2022.Community --override "--quiet --add Microsoft.VisualStudio.Component.CoreEditor --add Microsoft.VisualStudio.Workload.CoreEditor --add Microsoft.VisualStudio.Component.TypeScript.TSServer --add Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions --add Microsoft.VisualStudio.Component.JavaScript.TypeScript --add Microsoft.VisualStudio.Component.Roslyn.Compiler --add Microsoft.Component.MSBuild --add Microsoft.VisualStudio.Component.Roslyn.LanguageServices --add Microsoft.VisualStudio.Component.TextTemplating --add Microsoft.VisualStudio.Component.NuGet --add Microsoft.VisualStudio.Component.Debugger.JustInTime --add Component.Microsoft.VisualStudio.LiveShare.2022 --add Microsoft.VisualStudio.Component.IntelliCode --add Microsoft.VisualStudio.Component.VC.CoreIde --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Graphics.Tools --add Microsoft.VisualStudio.Component.VC.DiagnosticTools --add Microsoft.VisualStudio.Component.Windows11SDK.22621 --add Microsoft.VisualStudio.Component.VC.ATL --add Microsoft.VisualStudio.Component.SecurityIssueAnalysis --add Microsoft.VisualStudio.Component.VC.ATLMFC --add Microsoft.VisualStudio.Component.VC.Modules.x86.x64 --add Component.IncredibuildMenu --add Component.Incredibuild --add Microsoft.VisualStudio.Component.VC.Redist.14.Latest --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core --add Microsoft.VisualStudio.Component.Windows11Sdk.WindowsPerformanceToolkit --add Microsoft.VisualStudio.Component.CppBuildInsights --add Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.CMake --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest --add Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest --add Microsoft.VisualStudio.Component.VC.ASAN --add Microsoft.VisualStudio.Component.Vcpkg --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang --add Microsoft.VisualStudio.Workload.NativeDesktop" | |
echo "----------------------Install sdk 8-------------------------------" | |
winget install --source winget --id Microsoft.DotNet.SDK.8 | |
echo "----------------------Install DesktopRuntime.8--------------------------" | |
winget install --source winget --id Microsoft.DotNet.DesktopRuntime.8 | |
echo "---------------------Install cmake--------------------------" | |
winget install --source winget --id Kitware.CMake -e | |
echo "--------------------Install Ninja-build.Ninja ---------------------------" | |
winget install --source winget --id Ninja-build.Ninja | |
echo "--------------------Waiting Install VisualStudio 2022--------------------------------- " | |
# 循环判断目录数量是否大于等于 14 | |
$targetDirectory = "C:\Program Files\Microsoft Visual Studio\2022\Community" | |
while (!(Test-Path $targetDirectory)) { | |
Write-Host "The directory does not exist, wait for 1 minute..." | |
Start-Sleep -Seconds 60 | |
} | |
while (((Get-ChildItem -Path $targetDirectory -Directory).Count -lt 14)) { | |
Write-Host "The number of directories is less than 14, wait for 1 minute...." | |
Start-Sleep -Seconds 60 | |
} | |
Get-ChildItem -Path $targetDirectory | |
Write-Host "-------------------------Visual Studio 2022 installation completed----------------------------" | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Set up Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 'stable' | |
- name: Building Windows Package | |
shell: pwsh | |
run: |- | |
Rename-Item -Path 'D:\a\gt\gt\libcs\dep\_google-webrtc\src\third_party\llvm-build\Release+Asserts.win' -NewName 'D:\a\gt\gt\libcs\dep\_google-webrtc\src\third_party\llvm-build\Release+Asserts' | |
Get-ChildItem -Path 'D:\a\gt\gt\libcs\dep\_google-webrtc\src\third_party\llvm-build\' | |
Get-ChildItem -Path 'D:\a\gt\gt\libcs\dep\_google-webrtc\src\third_party\llvm-build\Release+Asserts\' | |
Invoke-WebRequest -Uri 'https://chrome-infra-packages.appspot.com/dl/gn/gn/windows-amd64/+/latest' -OutFile '.\gn-windows-amd64.zip' | |
Expand-Archive -Path '.\gn-windows-amd64.zip' -DestinationPath 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja' | |
Get-ChildItem -Path 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja\' | |
echo "-----------------------Compilation package---------------------" | |
& '.\build.ps1' | |
- name: Archive GT artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: gt-windows | |
path: | | |
release/* | |
build-linux: | |
runs-on: ubuntu-22.04 | |
permissions: | |
contents: read | |
packages: write | |
id-token: write | |
steps: | |
- name: clean-space | |
run: |- | |
sudo swapoff -a | |
sudo rm -rf /swapfile /usr/share/dotnet /usr/local/lib/android /opt/ghc | |
sudo apt clean | |
sudo df -Th | |
# steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Set up Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 'stable' | |
- name: package-gt | |
run: |- | |
sudo apt-get update && sudo apt-get install make git gn ninja-build python3 python3-pip libgtk-3-dev gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gcc-x86-64-linux-gnu g++-x86-64-linux-gnu gcc-riscv64-linux-gnu g++-riscv64-linux-gnu rustc upx -y | |
rustup target add x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu riscv64gc-unknown-linux-gnu | |
make | |
- name: Archive GT artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: gt-linux | |
path: | | |
release/* | |
- name: clean-space | |
run: sudo rm -rf /home/runner/work/gt/gt/libcs/dep | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Setup Docker buildx | |
uses: docker/setup-buildx-action@v2 | |
- run: echo "GITHUB_REPOSITORY_NAME=${GITHUB_REPOSITORY#*/}" >> $GITHUB_ENV | |
shell: bash | |
- name: Inspect builder | |
run: | | |
echo "Name: ${{ steps.buildx.outputs.name }}" | |
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}" | |
echo "Status: ${{ steps.buildx.outputs.status }}" | |
echo "Flags: ${{ steps.buildx.outputs.flags }}" | |
echo "Platforms: ${{ steps.buildx.outputs.platforms }}" | |
- name: Log into registry ${{ env.REGISTRY }} | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Log into registry ${{ env.EULIX_REGISTRY }} | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.EULIX_REGISTRY }} | |
username: ${{ secrets.EULIX_REGISTRY_USERNAME }} | |
password: ${{ secrets.EULIX_REGISTRY_PASSWORD }} | |
- name: Log into registry Docker Hub | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKER_HUB_REGISTRY_USERNAME }} | |
password: ${{ secrets.DOCKER_HUB_REGISTRY_PASSWORD }} | |
- name: Log into registry ${{ env.HUAWEICLOUD_REGISTRY_SH }} | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.HUAWEICLOUD_REGISTRY_SH }} | |
username: cn-east-3@${{ secrets.HUAWEICLOUD_USERNAME }} | |
password: ${{ secrets.HUAWEICLOUD_PASSWORD }} | |
- name: Log into registry ${{ env.HUAWEICLOUD_REGISTRY_BJ }} | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.HUAWEICLOUD_REGISTRY_BJ }} | |
username: cn-north-4@${{ secrets.HUAWEICLOUD_USERNAME }} | |
password: ${{ secrets.HUAWEICLOUD_PASSWORD }} | |
- name: Log into registry ${{ env.HUAWEICLOUD_REGISTRY_GZ }} | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.HUAWEICLOUD_REGISTRY_GZ }} | |
username: cn-south-1@${{ secrets.HUAWEICLOUD_USERNAME }} | |
password: ${{ secrets.HUAWEICLOUD_PASSWORD }} | |
- name: Log into registry ${{ env.HUAWEICLOUD_REGISTRY_SG }} | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.HUAWEICLOUD_REGISTRY_SG }} | |
username: ap-southeast-3@${{ secrets.HUAWEICLOUD_USERNAME }} | |
password: ${{ secrets.HUAWEICLOUD_PASSWORD }} | |
- name: Log into registry ${{ env.HUAWEICLOUD_REGISTRY_HK }} | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.HUAWEICLOUD_REGISTRY_HK }} | |
username: ap-southeast-1@${{ secrets.HUAWEICLOUD_USERNAME }} | |
password: ${{ secrets.HUAWEICLOUD_PASSWORD }} | |
- name: Log into registry ${{ env.HUAWEICLOUD_REGISTRY_AF }} | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.HUAWEICLOUD_REGISTRY_AF }} | |
username: af-south-1@${{ secrets.HUAWEICLOUD_USERNAME }} | |
password: ${{ secrets.HUAWEICLOUD_PASSWORD }} | |
- name: Log into registry ${{ env.HUAWEICLOUD_REGISTRY_LA }} | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.HUAWEICLOUD_REGISTRY_LA }} | |
username: la-north-2@${{ secrets.HUAWEICLOUD_USERNAME }} | |
password: ${{ secrets.HUAWEICLOUD_PASSWORD }} | |
- name: Extract Docker metadata for Server | |
id: meta-server | |
uses: docker/metadata-action@v2 | |
with: | |
images: | | |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
${{ env.EULIX_REGISTRY }}/${{ env.IMAGE_NAME }} | |
aospace/${{ env.GITHUB_REPOSITORY_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_SH }}/${{ env.IMAGE_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_BJ }}/${{ env.IMAGE_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_GZ }}/${{ env.IMAGE_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_HK }}/${{ env.IMAGE_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_SG }}/${{ env.IMAGE_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_AF }}/${{ env.IMAGE_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_LA }}/${{ env.IMAGE_NAME }} | |
flavor: | | |
prefix=server- | |
- name: Build and push Docker image for Server | |
id: build-and-push-server | |
uses: docker/[email protected] | |
with: | |
context: . | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: ${{ steps.meta-server.outputs.tags }} | |
labels: ${{ steps.meta-server.outputs.labels }} | |
builder: ${{ steps.buildx.outputs.name }} | |
platforms: linux/amd64,linux/arm64,linux/riscv64 | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
file: Dockerfile-server | |
provenance: false | |
- name: Extract Docker metadata for Client | |
id: meta-client | |
uses: docker/metadata-action@v2 | |
with: | |
images: | | |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
${{ env.EULIX_REGISTRY }}/${{ env.IMAGE_NAME }} | |
aospace/${{ env.GITHUB_REPOSITORY_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_SH }}/${{ env.IMAGE_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_BJ }}/${{ env.IMAGE_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_GZ }}/${{ env.IMAGE_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_HK }}/${{ env.IMAGE_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_SG }}/${{ env.IMAGE_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_AF }}/${{ env.IMAGE_NAME }} | |
${{ env.HUAWEICLOUD_REGISTRY_LA }}/${{ env.IMAGE_NAME }} | |
flavor: | | |
prefix=client- | |
- name: Build and push Docker image for Client | |
id: build-and-push-client | |
uses: docker/[email protected] | |
with: | |
context: . | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: ${{ steps.meta-client.outputs.tags }} | |
labels: ${{ steps.meta-client.outputs.labels }} | |
builder: ${{ steps.buildx.outputs.name }} | |
platforms: linux/amd64,linux/arm64,linux/riscv64 | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
file: Dockerfile-client | |
provenance: false | |
- name: Extract Docker metadata for Server | |
id: meta-opensource-server | |
uses: docker/metadata-action@v2 | |
with: | |
images: | | |
${{ env.EULIX_REGISTRY }}/cicada-private/aonetwork-server | |
flavor: | | |
prefix=opensource-server- | |
- name: Build and push Docker image for Server | |
id: build-and-push-opensource-server | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: ${{ steps.meta-opensource-server.outputs.tags }} | |
labels: ${{ steps.meta-opensource-server.outputs.labels }} | |
builder: ${{ steps.buildx.outputs.name }} | |
platforms: linux/amd64,linux/arm64,linux/riscv64 | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
file: Dockerfile-server | |
- name: Extract Docker metadata for Client | |
id: meta-opensource-client | |
uses: docker/metadata-action@v2 | |
with: | |
images: | | |
${{ env.EULIX_REGISTRY }}/cicada-private/aonetwork-client | |
flavor: | | |
prefix=opensource-client- | |
- name: Build and push Docker image for Client | |
id: build-and-push-opensource-client | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: ${{ steps.meta-opensource-client.outputs.tags }} | |
labels: ${{ steps.meta-opensource-client.outputs.labels }} | |
builder: ${{ steps.buildx.outputs.name }} | |
platforms: linux/amd64,linux/arm64,linux/riscv64 | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
file: Dockerfile-client | |
build-macos: | |
runs-on: macos-14 | |
permissions: | |
contents: read | |
packages: write | |
id-token: write | |
# steps: | |
# - name: space | |
# shell: bash | |
# run: |- | |
# sudo df -h | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Set up Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 'stable' | |
- name: package-gt | |
run: |- | |
brew install llvm@16 ninja | |
curl -LOJ https://chrome-infra-packages.appspot.com/dl/gn/gn/mac-amd64/+/latest | |
unzip gn-mac-amd64.zip | |
chmod +x gn && mv gn /opt/homebrew/opt/llvm@16/bin/ | |
ln -s /opt/homebrew/opt/llvm@16 /opt/homebrew/opt/llvm | |
echo 'export PATH="/opt/homebrew/opt/llvm/bin:$PATH"' >> ~/.bash_profile | |
export PATH="/opt/homebrew/opt/make/libexec/gnubin:$PATH" | |
echo 'export PATH="/opt/homebrew/opt/binutils/bin:$PATH"' >> ~/.bash_profile | |
source ~/.bash_profile | |
mv /opt/homebrew/opt/llvm/bin/llvm-libtool-darwin /opt/homebrew/opt/llvm/bin/libtool | |
rustup target add x86_64-apple-darwin aarch64-apple-darwin | |
cd ./libcs | |
TARGET=aarch64-apple-darwin GOOS=darwin GOARCH=arm64 arch -arch arm64 make release_lib | |
TARGET=x86_64-apple-darwin GOOS=darwin GOARCH=amd64 arch -arch x86_64 make release_lib | |
cd .. | |
cargo build --target aarch64-apple-darwin -r | |
cargo build --target x86_64-apple-darwin -r | |
mkdir -p release | |
cp target/aarch64-apple-darwin/release/gt release/gt-macos-aarch64 | |
cp target/x86_64-apple-darwin/release/gt release/gt-macos-x86_64 | |
- name: Archive GT artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: gt-macos | |
path: | | |
release/* |