Build pkg in docker

This commit is contained in:
Kevin Yue 2024-02-25 22:49:48 -05:00
parent e04bb99d7a
commit ff43986085
4 changed files with 26 additions and 26 deletions

View File

@ -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:

View File

@ -1,6 +1,6 @@
#!/usr/bin/make -f
export OFFLINE = @OFFLINE@
export OFFLINE = @OFFLINE@ BUILD_FE=0
%:
dh $@

View File

@ -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() {

View File

@ -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