diff --git a/aur-sync.sh b/aur-sync.sh
index 552ce3676f9f1ba3600c0d72af006b17b604bb83..dd2a28eff1474272b1d6c5a91ca2a55c706f0544 100755
--- a/aur-sync.sh
+++ b/aur-sync.sh
@@ -18,8 +18,24 @@ repo_upstreams=(
 )
 
 # Please place simple, important, SMALL packages first. Place error-prone packages last. 
-aur_upstreams='pikaur frpc frps azure-cli unzip-iconv create_ap snakesocks teamviewer remarkable goland goland-jre clion gnome-terminal-transparency'
-# intellij-idea-ce rider graftcp # gractcp failure
+aur_upstreams=(
+    pikaur
+    frpc
+    frps
+    azure-cli
+    create_ap
+    asix-ax88179-dkms
+    snakesocks
+    teamviewer
+    remarkable
+    goland
+    goland-jre
+    clion
+    clion-jre
+    gnome-terminal-transparency
+    shared-bootdir-helper
+    chrome-gnome-shell
+)
 
 build_outdir="mirrors/recolic-aur"
 repo_name=recolic-aur
@@ -27,9 +43,12 @@ repo_name=recolic-aur
 function sync_aur () {
     echo "Running aur autobuild..."
 
-    # pikaur would skip if the package is already up-to-date. 
-    sudo docker run -i --cpus 1.2 --rm -v "$(pwd)/$build_outdir":/home/builder/.cache/pikaur/pkg recolic/pikaur      bash -c "chown builder -R /home/builder/.cache/pikaur/pkg && sudo -u builder pikaur -Syw --noconfirm $aur_upstreams"
-    return $?
+    # Use the external loop to force pikaur to skip failed packages. 
+    for ele in "${aur_upstreams[@]}"; do
+        # pikaur would skip if the package is already up-to-date. 
+        sudo docker run -i --cpus 1.2 --rm -v "$(pwd)/mirrors/recolic-aur":/home/builder/.cache/pikaur/pkg recolic/pikaur      bash -c "chown builder -R /home/builder/.cache/pikaur/pkg && sudo -u builder pikaur -Syw --noconfirm $ele"
+        [[ $? != 0 ]] && echo "WARNING: Failed to build $ele"
+    done
 }
 
 function sync_http () {
diff --git a/docker-pikaur/Dockerfile b/docker-pikaur/Dockerfile
index b83783b8a4dab3f36ecfb6c54edc08b62282a28a..8a692504ebde444516e3049b6acfbd1a1f091f1c 100644
--- a/docker-pikaur/Dockerfile
+++ b/docker-pikaur/Dockerfile
@@ -1,5 +1,5 @@
 # docker run -ti -v (pwd)/recolic-aur:/home/builder/.cache/pikaur/pkg recolic/pikaur      bash -c 'chown builder -R /home/builder/.cache/pikaur/pkg && sudo -u builder pikaur -Sw --noconfirm $pkgs'
-# You must reuse the container (commit it as new image) after running first build. There may be tons of dependencies to be downloaded. 
+# You can reuse the container (commit it as new image) after running first build. There may be tons of dependencies to be downloaded. 
 
 FROM archlinux:base-devel
 
@@ -9,7 +9,9 @@ RUN pacman -S --noconfirm go
 RUN useradd -m builder && echo 'builder ALL=(ALL) NOPASSWD: ALL' | EDITOR='tee -a' visudo
 # To prevent docker from creating a root-only dir
 RUN sudo -u builder mkdir -p /home/builder/.cache/pikaur/build && \
-    sed -i 's/check_pgpsigs() {/check_pgpsigs() { return 0/g' /usr/share/makepkg/integrity/verify_signature.sh
-# auto-key-retrieve is not working. This is my only solution. 
+    sed -i 's/check_pgpsigs() {/check_pgpsigs() { return 0/g' /usr/share/makepkg/integrity/verify_signature.sh && \
+    sed -i 's/SigLevel.*$/SigLevel = Never/' /etc/pacman.conf
+# makepkg auto-key-retrieve is not working. This is my only solution. 
+# pacman will complain about expired GPG keys if the image is not updated. Disable the SigLevel verify to avoid these error.