From ff439860856185fb1d25ab9ea6290c9529db9675 Mon Sep 17 00:00:00 2001 From: Kevin Yue Date: Sun, 25 Feb 2024 22:49:48 -0500 Subject: [PATCH] Build pkg in docker --- .github/workflows/build.yaml | 44 +++++++++---------- packaging/deb/rules | 2 +- packaging/pkgbuild/PKGBUILD.in | 2 +- .../rpm/globalprotect-openconnect.spec.in | 4 +- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 937f455..8ac851e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -25,7 +25,7 @@ jobs: if [[ "${{ github.ref }}" == "refs/tags/"* ]]; then echo "matrix=[\"ubuntu-latest\", \"arm64\"]" >> $GITHUB_OUTPUT else - echo "matrix=[\"arm64\"]" >> $GITHUB_OUTPUT + echo "matrix=[\"ubuntu-latest\"]" >> $GITHUB_OUTPUT fi tarball: @@ -54,7 +54,6 @@ jobs: gp/.build/tarball/*.tar.gz build-deb: - if: startsWith(github.ref, 'refs/tags/') needs: - setup-matrix - tarball @@ -96,7 +95,6 @@ jobs: globalprotect-openconnect-*/.build/deb/*.deb build-rpm: - if: startsWith(github.ref, 'refs/tags/') needs: - setup-matrix - tarball @@ -147,36 +145,38 @@ jobs: matrix: os: ${{fromJson(needs.setup-matrix.outputs.matrix)}} runs-on: ${{ matrix.os }} - container: - image: yuezk/gpdev:pkgbuild - credentials: - username: ${{ secrets.DOCKER_HUB_USERNAME }} - password: ${{ secrets.DOCKER_HUB_TOKEN }} + # container: + # image: yuezk/gpdev:pkgbuild + # credentials: + # username: ${{ secrets.DOCKER_HUB_USERNAME }} + # password: ${{ secrets.DOCKER_HUB_TOKEN }} steps: - - name: chown - run: | - echo "Current user: $(whoami)" - sudo chown -R $(whoami):$(whoami) . - ls -l - name: Download tarball uses: actions/download-artifact@v3 with: name: artifact-tarball - - name: Build PKGBUILD package + - name: Docker Login + run: echo ${{ secrets.DOCKER_HUB_TOKEN }} | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin + - name: Init PKGBUILD package run: | tar -xzf globalprotect-openconnect-*.tar.gz cd globalprotect-openconnect-*/ - make pkgbuild BUILD_FE=0 - - name: Install PKGBUILD package + make init-pkgbuild BUILD_FE=0 + - name: Build PKGBUILD package in Docker run: | cd globalprotect-openconnect-*/ - sudo pacman -U --noconfirm .build/pkgbuild/*.pkg.tar.zst + docker run --rm -v $(pwd)/.build/pkgbuild:/pkgbuild yuezk/gpdev:pkgbuild ./build.sh + + - name: Install PKGBUILD package in Docker + run: | + cd globalprotect-openconnect-*/ + + docker run \ + --rm -v $(pwd)/.build/pkgbuild:/pkgbuild \ + yuezk/gpdev:pkgbuild \ + bash -c "sudo pacman -U --noconfirm /pkgbuild/*.pkg.tar.zst; gpclient --version; gpservice --version; gpauth --version; gpgui-helper --version;" - gpclient --version - gpservice --version - gpauth --version - gpgui-helper --version - name: Upload PKGBUILD package uses: actions/upload-artifact@v3 with: @@ -186,7 +186,6 @@ jobs: globalprotect-openconnect-*/.build/pkgbuild/*.pkg.tar.zst build-binary: - if: startsWith(github.ref, 'refs/tags/') needs: - setup-matrix - tarball @@ -229,7 +228,6 @@ jobs: globalprotect-openconnect-*/.build/binary/*.bin.tar.xz* build-gpgui: - if: startsWith(github.ref, 'refs/tags/') needs: - setup-matrix strategy: diff --git a/packaging/deb/rules b/packaging/deb/rules index 92e3fb9..ca3f834 100755 --- a/packaging/deb/rules +++ b/packaging/deb/rules @@ -1,6 +1,6 @@ #!/usr/bin/make -f -export OFFLINE = @OFFLINE@ +export OFFLINE = @OFFLINE@ BUILD_FE=0 %: dh $@ diff --git a/packaging/pkgbuild/PKGBUILD.in b/packaging/pkgbuild/PKGBUILD.in index 93634ef..a238afb 100644 --- a/packaging/pkgbuild/PKGBUILD.in +++ b/packaging/pkgbuild/PKGBUILD.in @@ -25,7 +25,7 @@ build() { # Must unset the CFLAGS, otherwise the build fails unset CFLAGS - make build OFFLINE=@OFFLINE@ + make build OFFLINE=@OFFLINE@ BUILD_FE=0 } package() { diff --git a/packaging/rpm/globalprotect-openconnect.spec.in b/packaging/rpm/globalprotect-openconnect.spec.in index a7abd47..7314944 100644 --- a/packaging/rpm/globalprotect-openconnect.spec.in +++ b/packaging/rpm/globalprotect-openconnect.spec.in @@ -35,7 +35,9 @@ A GUI for GlobalProtect VPN, based on OpenConnect, supports the SSO authenticati %setup %build -make build OFFLINE=@OFFLINE@ +# The injected RUSTFLAGS could fail the build +unset RUSTFLAGS +make build OFFLINE=@OFFLINE@ BUILD_FE=0 %install %make_install