Compare commits

...
11 Commits
Author SHA1 Message Date
sijie.sun 2371e9a13c fix 2025-01-10 21:45:24 +08:00
sijie.sun 8ccc22a293 fix 2025-01-10 21:45:04 +08:00
sijie.sun bcc137b45f fix 2025-01-10 21:35:14 +08:00
sijie.sun feccc3ff8d fix 2025-01-10 21:31:09 +08:00
sijie.sun 314f00700f fix 2025-01-10 21:28:57 +08:00
sijie.sun 674f6d1374 tmp 2025-01-10 21:23:35 +08:00
sijie.sun ed6dbed670 win7 2025-01-10 21:20:38 +08:00
sijie.sun c350c760f4 win7 2025-01-10 21:18:54 +08:00
sijie.sun 818a6da8d1 'tmp' 2025-01-10 21:13:43 +08:00
sijie.sun 52fc9a6aef 'tmp' 2025-01-10 20:56:16 +08:00
sijie.sun 7996f487e8 update rust to 1.82 and add win7 build target 2025-01-10 09:40:32 +08:00
6 changed files with 268 additions and 237 deletions
+55 -43
View File
@@ -5,6 +5,12 @@ on:
branches: ["develop", "main", "releases/**"]
pull_request:
branches: ["develop", "main"]
workflow_dispatch:
inputs:
tags:
description: 'Test scenario tags'
required: false
type: boolean
env:
CARGO_TERM_COLOR: always
@@ -36,50 +42,53 @@ jobs:
fail-fast: false
matrix:
include:
- TARGET: aarch64-unknown-linux-musl
OS: ubuntu-22.04
ARTIFACT_NAME: linux-aarch64
- TARGET: x86_64-unknown-linux-musl
OS: ubuntu-22.04
ARTIFACT_NAME: linux-x86_64
- TARGET: mips-unknown-linux-musl
OS: ubuntu-22.04
ARTIFACT_NAME: linux-mips
- TARGET: mipsel-unknown-linux-musl
OS: ubuntu-22.04
ARTIFACT_NAME: linux-mipsel
- TARGET: armv7-unknown-linux-musleabihf # raspberry pi 2-3-4, not tested
OS: ubuntu-22.04
ARTIFACT_NAME: linux-armv7hf
- TARGET: armv7-unknown-linux-musleabi # raspberry pi 2-3-4, not tested
OS: ubuntu-22.04
ARTIFACT_NAME: linux-armv7
- TARGET: arm-unknown-linux-musleabihf # raspberry pi 0-1, not tested
OS: ubuntu-22.04
ARTIFACT_NAME: linux-armhf
- TARGET: arm-unknown-linux-musleabi # raspberry pi 0-1, not tested
OS: ubuntu-22.04
ARTIFACT_NAME: linux-arm
# - TARGET: aarch64-unknown-linux-musl
# OS: ubuntu-22.04
# ARTIFACT_NAME: linux-aarch64
# - TARGET: x86_64-unknown-linux-musl
# OS: ubuntu-22.04
# ARTIFACT_NAME: linux-x86_64
# - TARGET: mips-unknown-linux-musl
# OS: ubuntu-22.04
# ARTIFACT_NAME: linux-mips
# - TARGET: mipsel-unknown-linux-musl
# OS: ubuntu-22.04
# ARTIFACT_NAME: linux-mipsel
# - TARGET: armv7-unknown-linux-musleabihf # raspberry pi 2-3-4, not tested
# OS: ubuntu-22.04
# ARTIFACT_NAME: linux-armv7hf
# - TARGET: armv7-unknown-linux-musleabi # raspberry pi 2-3-4, not tested
# OS: ubuntu-22.04
# ARTIFACT_NAME: linux-armv7
# - TARGET: arm-unknown-linux-musleabihf # raspberry pi 0-1, not tested
# OS: ubuntu-22.04
# ARTIFACT_NAME: linux-armhf
# - TARGET: arm-unknown-linux-musleabi # raspberry pi 0-1, not tested
# OS: ubuntu-22.04
# ARTIFACT_NAME: linux-arm
- TARGET: x86_64-apple-darwin
OS: macos-latest
ARTIFACT_NAME: macos-x86_64
- TARGET: aarch64-apple-darwin
OS: macos-latest
ARTIFACT_NAME: macos-aarch64
# - TARGET: x86_64-apple-darwin
# OS: macos-latest
# ARTIFACT_NAME: macos-x86_64
# - TARGET: aarch64-apple-darwin
# OS: macos-latest
# ARTIFACT_NAME: macos-aarch64
- TARGET: x86_64-pc-windows-msvc
OS: windows-latest
ARTIFACT_NAME: windows-x86_64
# - TARGET: x86_64-pc-windows-msvc
# OS: windows-latest
# ARTIFACT_NAME: windows-x86_64
# - TARGET: x86_64-win7-windows-msvc
# OS: windows-latest
# ARTIFACT_NAME: windows-win7-x86_64
- TARGET: aarch64-pc-windows-msvc
OS: windows-latest
ARTIFACT_NAME: windows-arm64
# - TARGET: aarch64-pc-windows-msvc
# OS: windows-latest
# ARTIFACT_NAME: windows-arm64
- TARGET: x86_64-unknown-freebsd
OS: ubuntu-22.04
ARTIFACT_NAME: freebsd-13.2-x86_64
BSD_VERSION: 13.2
# - TARGET: x86_64-unknown-freebsd
# OS: ubuntu-22.04
# ARTIFACT_NAME: freebsd-13.2-x86_64
# BSD_VERSION: 13.2
runs-on: ${{ matrix.OS }}
env:
@@ -114,7 +123,10 @@ jobs:
if: ${{ ! endsWith(matrix.TARGET, 'freebsd') }}
run: |
bash ./.github/workflows/install_rust.sh
if [[ $OS =~ ^ubuntu.*$ && $TARGET =~ ^mips.*$ ]]; then
if [[ $TARGET =~ ^.*win7.*$ ]]; then
cargo +nightly build --release -Z build-std=std,panic_abort --target $TARGET
elif [[ $OS =~ ^ubuntu.*$ && $TARGET =~ ^mips.*$ ]]; then
cargo +nightly build -r --verbose --target $TARGET -Z build-std=std,panic_abort --no-default-features --features mips --package=easytier
else
cargo build --release --verbose --target $TARGET
@@ -148,8 +160,8 @@ jobs:
rustup set auto-self-update disable
rustup install 1.77
rustup default 1.77
rustup install 1.82
rustup default 1.82
export CC=clang
export CXX=clang++
+48 -29
View File
@@ -35,40 +35,37 @@ jobs:
fail-fast: false
matrix:
include:
- TARGET: aarch64-unknown-linux-musl
OS: ubuntu-22.04
GUI_TARGET: aarch64-unknown-linux-gnu
ARTIFACT_NAME: linux-aarch64
# - TARGET: aarch64-unknown-linux-musl
# OS: ubuntu-22.04
# ARTIFACT_NAME: linux-aarch64
- TARGET: x86_64-unknown-linux-musl
OS: ubuntu-22.04
GUI_TARGET: x86_64-unknown-linux-gnu
ARTIFACT_NAME: linux-x86_64
- TARGET: x86_64-apple-darwin
OS: macos-latest
GUI_TARGET: x86_64-apple-darwin
ARTIFACT_NAME: macos-x86_64
- TARGET: aarch64-apple-darwin
OS: macos-latest
GUI_TARGET: aarch64-apple-darwin
ARTIFACT_NAME: macos-aarch64
# - TARGET: x86_64-apple-darwin
# OS: macos-latest
# ARTIFACT_NAME: macos-x86_64
# - TARGET: aarch64-apple-darwin
# OS: macos-latest
# ARTIFACT_NAME: macos-aarch64
- TARGET: x86_64-pc-windows-msvc
OS: windows-latest
GUI_TARGET: x86_64-pc-windows-msvc
ARTIFACT_NAME: windows-x86_64
# - TARGET: x86_64-pc-windows-msvc
# OS: windows-latest
# ARTIFACT_NAME: windows-x86_64
- TARGET: aarch64-pc-windows-msvc
# - TARGET: aarch64-pc-windows-msvc
# OS: windows-latest
# ARTIFACT_NAME: windows-arm64
- TARGET: x86_64-win7-windows-msvc
OS: windows-latest
GUI_TARGET: aarch64-pc-windows-msvc
ARTIFACT_NAME: windows-arm64
ARTIFACT_NAME: windows-win7-x86_64
runs-on: ${{ matrix.OS }}
env:
NAME: easytier
TARGET: ${{ matrix.TARGET }}
OS: ${{ matrix.OS }}
GUI_TARGET: ${{ matrix.GUI_TARGET }}
OSS_BUCKET: ${{ secrets.ALIYUN_OSS_BUCKET }}
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
@@ -124,6 +121,21 @@ jobs:
# GitHub repo token to use to avoid rate limiter
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install GUI dependencies (x86 only)
if: ${{ matrix.TARGET == 'x86_64-unknown-linux-musl' }}
run: |
sudo apt install -qq libwebkit2gtk-4.1-dev \
libsoup3.0-dev \
build-essential \
curl \
wget \
file \
libgtk-3-dev \
librsvg2-dev \
libxdo-dev \
libssl-dev \
patchelf
- name: Install GUI cross compile (aarch64 only)
if: ${{ matrix.TARGET == 'aarch64-unknown-linux-musl' }}
run: |
@@ -161,19 +173,26 @@ jobs:
- name: copy correct DLLs
if: ${{ matrix.OS == 'windows-latest' }}
run: |
if [[ $GUI_TARGET =~ ^aarch64.*$ ]]; then
if [[ $TARGET =~ ^aarch64.*$ ]]; then
cp ./easytier/third_party/arm64/*.dll ./easytier-gui/src-tauri/
else
cp ./easytier/third_party/*.dll ./easytier-gui/src-tauri/
fi
- name: Build GUI
if: ${{ matrix.GUI_TARGET != '' }}
uses: tauri-apps/tauri-action@v0
if: ${{ ! contains(matrix.TARGET, 'win7') }}
with:
projectPath: ./easytier-gui
# https://tauri.app/v1/guides/building/linux/#cross-compiling-tauri-applications-for-arm-based-devices
args: --verbose --target ${{ matrix.GUI_TARGET }} ${{ matrix.OS == 'ubuntu-22.04' && contains(matrix.TARGET, 'aarch64') && '--bundles deb' || '' }}
args: --verbose --target ${{ matrix.TARGET }} ${{ matrix.OS == 'ubuntu-22.04' && contains(matrix.TARGET, 'aarch64') && '--bundles deb' || '' }}
- name: Build GUI (Windows 7)
uses: tauri-apps/tauri-action@v0
if: ${{ contains(matrix.TARGET, 'win7') }}
with:
projectPath: ./easytier-gui
args: --verbose -- -Z build-std=std,panic_abort --target ${{ matrix.TARGET }}
- name: Compress
run: |
@@ -186,14 +205,14 @@ jobs:
fi
# copy gui bundle, gui is built without specific target
if [[ $OS =~ ^windows.*$ ]]; then
mv ./target/$GUI_TARGET/release/bundle/nsis/*.exe ./artifacts/objects/
mv ./target/$TARGET/release/bundle/nsis/*.exe ./artifacts/objects/
elif [[ $OS =~ ^macos.*$ ]]; then
mv ./target/$GUI_TARGET/release/bundle/dmg/*.dmg ./artifacts/objects/
mv ./target/$TARGET/release/bundle/dmg/*.dmg ./artifacts/objects/
elif [[ $OS =~ ^ubuntu.*$ && ! $TARGET =~ ^mips.*$ ]]; then
mv ./target/$GUI_TARGET/release/bundle/deb/*.deb ./artifacts/objects/
if [[ $GUI_TARGET =~ ^x86_64.*$ ]]; then
mv ./target/$TARGET/release/bundle/deb/*.deb ./artifacts/objects/
if [[ $TARGET =~ ^x86_64.*$ ]]; then
# currently only x86 appimage is supported
mv ./target/$GUI_TARGET/release/bundle/appimage/*.AppImage ./artifacts/objects/
mv ./target/$TARGET/release/bundle/appimage/*.AppImage ./artifacts/objects/
fi
fi
+15 -15
View File
@@ -5,23 +5,23 @@
# - GUI_TARGET
# - OS
echo "TARGET: $TARGET"
echo "GUI_TARGET: $GUI_TARGET"
echo "OS: $OS"
if [[ $TARGET =~ ^.*win7.*$ ]]; then
echo "Install For Win7"
rustup set auto-self-update disable
rustup toolchain install nightly
rustup component add rust-src --toolchain nightly
rustup default nightly
exit 0
fi
# dependencies are only needed on ubuntu as that's the only place where
# we make cross-compilation
if [[ $OS =~ ^ubuntu.*$ ]]; then
sudo apt-get update && sudo apt-get install -qq crossbuild-essential-arm64 crossbuild-essential-armhf musl-tools libappindicator3-dev
# for easytier-gui
if [[ $GUI_TARGET != '' && $GUI_TARGET =~ ^x86_64.*$ ]]; then
sudo apt install -qq libwebkit2gtk-4.1-dev \
build-essential \
curl \
wget \
file \
libgtk-3-dev \
librsvg2-dev \
libxdo-dev \
libssl-dev \
patchelf
fi
# curl -s musl.cc | grep mipsel
case $TARGET in
mipsel-unknown-linux-musl)
@@ -57,8 +57,8 @@ fi
# see https://github.com/rust-lang/rustup/issues/3709
rustup set auto-self-update disable
rustup install 1.77
rustup default 1.77
rustup install 1.82
rustup default 1.82
# mips/mipsel cannot add target from rustup, need compile by ourselves
if [[ $OS =~ ^ubuntu.*$ && $TARGET =~ ^mips.*$ ]]; then
+148 -148
View File
@@ -1,170 +1,170 @@
name: EasyTier Mobile
# name: EasyTier Mobile
on:
push:
branches: ["develop", "main", "releases/**"]
pull_request:
branches: ["develop", "main"]
# on:
# push:
# branches: ["develop", "main", "releases/**"]
# pull_request:
# branches: ["develop", "main"]
env:
CARGO_TERM_COLOR: always
# env:
# CARGO_TERM_COLOR: always
defaults:
run:
# necessary for windows
shell: bash
# defaults:
# run:
# # necessary for windows
# shell: bash
jobs:
pre_job:
# continue-on-error: true # Uncomment once integration is finished
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip == 'true' && !startsWith(github.ref_name, 'releases/') }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
# All of these options are optional, so you can remove them if you are happy with the defaults
concurrent_skipping: 'same_content_newer'
skip_after_successful_duplicate: 'true'
cancel_others: 'true'
paths: '["Cargo.toml", "Cargo.lock", "easytier/**", "easytier-gui/**", "tauri-plugin-vpnservice/**", ".github/workflows/mobile.yml", ".github/workflows/install_rust.sh"]'
build-mobile:
strategy:
fail-fast: false
matrix:
include:
- TARGET: android
OS: ubuntu-22.04
ARTIFACT_NAME: android
runs-on: ${{ matrix.OS }}
env:
NAME: easytier
TARGET: ${{ matrix.TARGET }}
OS: ${{ matrix.OS }}
OSS_BUCKET: ${{ secrets.ALIYUN_OSS_BUCKET }}
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
steps:
- uses: actions/checkout@v3
# jobs:
# pre_job:
# # continue-on-error: true # Uncomment once integration is finished
# runs-on: ubuntu-latest
# # Map a step output to a job output
# outputs:
# should_skip: ${{ steps.skip_check.outputs.should_skip == 'true' && !startsWith(github.ref_name, 'releases/') }}
# steps:
# - id: skip_check
# uses: fkirc/skip-duplicate-actions@v5
# with:
# # All of these options are optional, so you can remove them if you are happy with the defaults
# concurrent_skipping: 'same_content_newer'
# skip_after_successful_duplicate: 'true'
# cancel_others: 'true'
# paths: '["Cargo.toml", "Cargo.lock", "easytier/**", "easytier-gui/**", "tauri-plugin-vpnservice/**", ".github/workflows/mobile.yml", ".github/workflows/install_rust.sh"]'
# build-mobile:
# strategy:
# fail-fast: false
# matrix:
# include:
# - TARGET: android
# OS: ubuntu-22.04
# ARTIFACT_NAME: android
# runs-on: ${{ matrix.OS }}
# env:
# NAME: easytier
# TARGET: ${{ matrix.TARGET }}
# OS: ${{ matrix.OS }}
# OSS_BUCKET: ${{ secrets.ALIYUN_OSS_BUCKET }}
# needs: pre_job
# if: needs.pre_job.outputs.should_skip != 'true'
# steps:
# - uses: actions/checkout@v3
- name: Set current ref as env variable
run: |
echo "GIT_DESC=$(git log -1 --format=%cd.%h --date=format:%Y-%m-%d_%H:%M:%S)" >> $GITHUB_ENV
# - name: Set current ref as env variable
# run: |
# echo "GIT_DESC=$(git log -1 --format=%cd.%h --date=format:%Y-%m-%d_%H:%M:%S)" >> $GITHUB_ENV
- uses: actions/setup-java@v4
with:
distribution: 'oracle'
java-version: '20'
# - uses: actions/setup-java@v4
# with:
# distribution: 'oracle'
# java-version: '20'
- name: Setup Android SDK
uses: android-actions/setup-android@v3
with:
cmdline-tools-version: 11076708
packages: 'build-tools;34.0.0 ndk;26.0.10792818 tools platform-tools platforms;android-34 '
# - name: Setup Android SDK
# uses: android-actions/setup-android@v3
# with:
# cmdline-tools-version: 11076708
# packages: 'build-tools;34.0.0 ndk;26.0.10792818 tools platform-tools platforms;android-34 '
- name: Setup Android Environment
run: |
echo "$ANDROID_HOME/platform-tools" >> $GITHUB_PATH
echo "$ANDROID_HOME/ndk/26.0.10792818/toolchains/llvm/prebuilt/linux-x86_64/bin" >> $GITHUB_PATH
echo "NDK_HOME=$ANDROID_HOME/ndk/26.0.10792818/" > $GITHUB_ENV
# - name: Setup Android Environment
# run: |
# echo "$ANDROID_HOME/platform-tools" >> $GITHUB_PATH
# echo "$ANDROID_HOME/ndk/26.0.10792818/toolchains/llvm/prebuilt/linux-x86_64/bin" >> $GITHUB_PATH
# echo "NDK_HOME=$ANDROID_HOME/ndk/26.0.10792818/" > $GITHUB_ENV
- uses: actions/setup-node@v4
with:
node-version: 21
# - uses: actions/setup-node@v4
# with:
# node-version: 21
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 9
run_install: false
# - name: Install pnpm
# uses: pnpm/action-setup@v3
# with:
# version: 9
# run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
# - name: Get pnpm store directory
# shell: bash
# run: |
# echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
# - name: Setup pnpm cache
# uses: actions/cache@v4
# with:
# path: ${{ env.STORE_PATH }}
# key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
# restore-keys: |
# ${{ runner.os }}-pnpm-store-
- name: Install frontend dependencies
run: |
pnpm -r install
pnpm -r build
# - name: Install frontend dependencies
# run: |
# pnpm -r install
# pnpm -r build
- name: Cargo cache
uses: actions/cache@v4
with:
path: |
~/.cargo
./target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
# - name: Cargo cache
# uses: actions/cache@v4
# with:
# path: |
# ~/.cargo
# ./target
# key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install rust target
run: |
bash ./.github/workflows/install_rust.sh
rustup target add aarch64-linux-android
rustup target add armv7-linux-androideabi
rustup target add i686-linux-android
rustup target add x86_64-linux-android
# - name: Install rust target
# run: |
# bash ./.github/workflows/install_rust.sh
# rustup target add aarch64-linux-android
# rustup target add armv7-linux-androideabi
# rustup target add i686-linux-android
# rustup target add x86_64-linux-android
- name: Setup protoc
uses: arduino/setup-protoc@v2
with:
# GitHub repo token to use to avoid rate limiter
repo-token: ${{ secrets.GITHUB_TOKEN }}
# - name: Setup protoc
# uses: arduino/setup-protoc@v2
# with:
# # GitHub repo token to use to avoid rate limiter
# repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build Android
run: |
cd easytier-gui
pnpm tauri android build
# - name: Build Android
# run: |
# cd easytier-gui
# pnpm tauri android build
- name: Compress
run: |
mkdir -p ./artifacts/objects/
mv easytier-gui/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk ./artifacts/objects/
# - name: Compress
# run: |
# mkdir -p ./artifacts/objects/
# mv easytier-gui/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk ./artifacts/objects/
if [[ $GITHUB_REF_TYPE =~ ^tag$ ]]; then
TAG=$GITHUB_REF_NAME
else
TAG=$GITHUB_SHA
fi
# if [[ $GITHUB_REF_TYPE =~ ^tag$ ]]; then
# TAG=$GITHUB_REF_NAME
# else
# TAG=$GITHUB_SHA
# fi
mv ./artifacts/objects/* ./artifacts
rm -rf ./artifacts/objects/
# mv ./artifacts/objects/* ./artifacts
# rm -rf ./artifacts/objects/
- name: Archive artifact
uses: actions/upload-artifact@v4
with:
name: easytier-gui-${{ matrix.ARTIFACT_NAME }}
path: |
./artifacts/*
# - name: Archive artifact
# uses: actions/upload-artifact@v4
# with:
# name: easytier-gui-${{ matrix.ARTIFACT_NAME }}
# path: |
# ./artifacts/*
- name: Upload OSS
if: ${{ env.OSS_BUCKET != '' }}
uses: Menci/upload-to-oss@main
with:
access-key-id: ${{ secrets.ALIYUN_OSS_ACCESS_ID }}
access-key-secret: ${{ secrets.ALIYUN_OSS_ACCESS_KEY }}
endpoint: ${{ secrets.ALIYUN_OSS_ENDPOINT }}
bucket: ${{ secrets.ALIYUN_OSS_BUCKET }}
local-path: ./artifacts/
remote-path: /easytier-releases/${{env.GIT_DESC}}/easytier-gui-${{ matrix.ARTIFACT_NAME }}
no-delete-remote-files: true
retry: 5
mobile-result:
if: needs.pre_job.outputs.should_skip != 'true' && always()
runs-on: ubuntu-latest
needs:
- pre_job
- build-mobile
steps:
- name: Mark result as failed
if: needs.build-mobile.result != 'success'
run: exit 1
# - name: Upload OSS
# if: ${{ env.OSS_BUCKET != '' }}
# uses: Menci/upload-to-oss@main
# with:
# access-key-id: ${{ secrets.ALIYUN_OSS_ACCESS_ID }}
# access-key-secret: ${{ secrets.ALIYUN_OSS_ACCESS_KEY }}
# endpoint: ${{ secrets.ALIYUN_OSS_ENDPOINT }}
# bucket: ${{ secrets.ALIYUN_OSS_BUCKET }}
# local-path: ./artifacts/
# remote-path: /easytier-releases/${{env.GIT_DESC}}/easytier-gui-${{ matrix.ARTIFACT_NAME }}
# no-delete-remote-files: true
# retry: 5
# mobile-result:
# if: needs.pre_job.outputs.should_skip != 'true' && always()
# runs-on: ubuntu-latest
# needs:
# - pre_job
# - build-mobile
# steps:
# - name: Mark result as failed
# if: needs.build-mobile.result != 'success'
# run: exit 1
+1 -1
View File
@@ -8,7 +8,7 @@ repository = "https://github.com/EasyTier/EasyTier"
authors = ["kkrainbow"]
keywords = ["vpn", "p2p", "network", "easytier"]
categories = ["network-programming", "command-line-utilities"]
rust-version = "1.77.0"
rust-version = "1.82.0"
license-file = "LICENSE"
readme = "README.md"
+1 -1
View File
@@ -8,7 +8,7 @@ edition = "2021"
authors = ["kkrainbow"]
keywords = ["vpn", "p2p", "network", "easytier"]
categories = ["network-programming", "command-line-utilities"]
rust-version = "1.77.0"
rust-version = "1.82.0"
license-file = "LICENSE"
readme = "README.md"