Compare commits

...

4 Commits

Author SHA1 Message Date
Kevin Yue
c3d7a9fee4 Update GH release 2024-02-25 23:40:42 +08:00
Kevin Yue
0a26d6e360 Download gpgui from latest tag 2024-02-25 23:31:35 +08:00
Kevin Yue
3617dd990b Update CI 2024-02-25 23:24:19 +08:00
Kevin Yue
5d9c7b1cc8 Add matrix 2024-02-25 23:16:51 +08:00
2 changed files with 70 additions and 25 deletions

View File

@ -13,8 +13,24 @@ on:
- latest
- v*.*.*
jobs:
# Include arm64 if ref is a tag
setup-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Set up matrix
id: set-matrix
run: |
if [[ "${{ github.ref }}" == "refs/tags/"* ]]; then
echo "matrix=[\"ubuntu-latest\", \"arm64\"]" >> $GITHUB_OUTPUT
else
echo "matrix=[\"ubuntu-latest\"]" >> $GITHUB_OUTPUT
fi
tarball:
runs-on: ubuntu-latest
needs: [setup-matrix]
steps:
- uses: pnpm/action-setup@v2
with:
@ -38,8 +54,13 @@ jobs:
gp/.build/tarball/*.tar.gz
build-deb:
runs-on: ubuntu-latest
needs: [tarball]
needs:
- setup-matrix
- tarball
strategy:
matrix:
os: ${{fromJson(needs.setup-matrix.outputs.matrix)}}
runs-on: ${{ matrix.os }}
container:
image: yuezk/gpdev:main
credentials:
@ -68,14 +89,19 @@ jobs:
- name: Upload DEB package
uses: actions/upload-artifact@v3
with:
name: artifact-deb
name: artifact-deb-${{ matrix.os }}
if-no-files-found: error
path: |
globalprotect-openconnect-*/.build/deb/*.deb
build-rpm:
runs-on: ubuntu-latest
needs: [tarball]
needs:
- setup-matrix
- tarball
strategy:
matrix:
os: ${{fromJson(needs.setup-matrix.outputs.matrix)}}
runs-on: ${{ matrix.os }}
container:
image: yuezk/gpdev:rpm-builder
credentials:
@ -106,14 +132,19 @@ jobs:
- name: Upload RPM package
uses: actions/upload-artifact@v3
with:
name: artifact-rpm
name: artifact-rpm-${{ matrix.os }}
if-no-files-found: error
path: |
globalprotect-openconnect-*/.build/rpm/*.rpm
build-pkgbuild:
runs-on: ubuntu-latest
needs: [tarball]
needs:
- setup-matrix
- tarball
strategy:
matrix:
os: ${{fromJson(needs.setup-matrix.outputs.matrix)}}
runs-on: ${{ matrix.os }}
container:
image: yuezk/gpdev:pkgbuild
credentials:
@ -142,14 +173,19 @@ jobs:
- name: Upload PKGBUILD package
uses: actions/upload-artifact@v3
with:
name: artifact-pkgbuild
name: artifact-pkgbuild-${{ matrix.os }}
if-no-files-found: error
path: |
globalprotect-openconnect-*/.build/pkgbuild/*.pkg.tar.zst
build-binary:
runs-on: ubuntu-latest
needs: [tarball]
needs:
- setup-matrix
- tarball
strategy:
matrix:
os: ${{fromJson(needs.setup-matrix.outputs.matrix)}}
runs-on: ${{ matrix.os }}
container:
image: yuezk/gpdev:main
credentials:
@ -179,13 +215,18 @@ jobs:
- name: Upload binary
uses: actions/upload-artifact@v3
with:
name: artifact-binary
name: artifact-binary-${{ matrix.os }}
if-no-files-found: error
path: |
globalprotect-openconnect-*/.build/binary/*.bin.tar.xz*
build-gpgui:
runs-on: ubuntu-latest
needs:
- setup-matrix
strategy:
matrix:
os: ${{fromJson(needs.setup-matrix.outputs.matrix)}}
runs-on: ${{ matrix.os }}
container:
image: yuezk/gpdev:main
credentials:
@ -216,13 +257,13 @@ jobs:
- name: Upload gpgui
uses: actions/upload-artifact@v3
with:
name: artifact-gpgui
name: artifact-gpgui-${{ matrix.os }}
if-no-files-found: error
path: |
gpgui/.build/package/*.tar.xz*
gh-release:
# if: startsWith(github.ref, 'refs/tags/')
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
needs:
- build-deb
@ -241,13 +282,12 @@ jobs:
uses: softprops/action-gh-release@v1
with:
token: ${{ secrets.GH_PAT }}
# prerelease: ${{ contains(github.ref, 'latest') }}
prerelease: true
prerelease: ${{ contains(github.ref, 'latest') }}
fail_on_unmatched_files: true
files: |
artifact/**/*.deb
artifact/**/*.rpm
artifact/**/*.pkg.tar.zst
artifact/**/*.bin.tar.xz
artifact/**/*.tar.gz
artifact/**/*.sha256
artifact/artifact-*/globalprotect-openconnect-*/.build/deb/*.deb
artifact/artifact-*/globalprotect-openconnect-*/.build/rpm/*.rpm
artifact/artifact-*/globalprotect-openconnect-*/.build/pkgbuild/*.pkg.tar.zst
artifact/artifact-*/globalprotect-openconnect-*/.build/binary/*.bin.tar.xz*
artifact/artifact-*/*.bin.tar.xz*
artifact/artifact-*/*.tar.gz

View File

@ -80,14 +80,19 @@ impl GuiUpdater {
pub async fn update(&self) {
info!("Update GUI, version: {}", self.version);
#[cfg(debug_assertions)]
let release_tag = "latest";
#[cfg(not(debug_assertions))]
let release_tag = format!("v{}", self.version);
#[cfg(target_arch = "x86_64")]
let arch = "x86_64";
#[cfg(target_arch = "aarch64")]
let arch = "aarch64";
let file_url = format!(
"https://github.com/yuezk/GlobalProtect-openconnect/releases/download/v{}/gpgui_{}_{}.bin.tar.xz",
self.version, self.version, arch
"https://github.com/yuezk/GlobalProtect-openconnect/releases/download/{}/gpgui_{}_{}.bin.tar.xz",
release_tag, self.version, arch
);
let checksum_url = format!("{}.sha256", file_url);