crocandr 3 лет назад
Родитель
Сommit
dc02411fd8
2 измененных файлов с 37 добавлено и 7 удалено
  1. 36 6
      .github/workflows/main.yml
  2. 1 1
      Dockerfile

+ 36 - 6
.github/workflows/main.yml

@@ -9,8 +9,8 @@ on:
     branches:
   pull_request:
     branches: [ "master" ]
-#  schedule:
-#    - cron: '00 5 * * 6' # every Sunday at 5:00
+  schedule:
+    - cron: '00 5 * * 6' # every Sunday at 5:00
 
   # Allows you to run this workflow manually from the Actions tab
   workflow_dispatch:
@@ -18,7 +18,7 @@ on:
 # A workflow run is made up of one or more jobs that can run sequentially or in parallel
 jobs:
   # This workflow contains a single job called "build"
-  build:
+  build-amd64:
     # The type of runner that the job will run on
     runs-on: ubuntu-latest
     # Steps represent a sequence of tasks that will be executed as part of the job
@@ -52,7 +52,39 @@ jobs:
           echo -e "\n\nDockerfile:\n$( cat Dockerfile )\n\n"
 
           docker build --rm -t croc/softether -f Dockerfile . || { echo "Docker image build fail"; exit 1; }
-          docker tag croc/softether croc/softether:$SOFTETHER_VERSION      
+          docker tag croc/softether croc/softether:$SOFTETHER_VERSION
+        - name: push container
+        env:
+          DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
+          DOCKERHUB_PASS: ${{ secrets.DOCKERHUB_PASS }}
+        run: |
+          docker images
+          echo "$DOCKERHUB_PASS" | docker login --username=$DOCKERHUB_USER --password-stdin
+          docker images | grep -i softether
+          # push latest images
+          docker push croc/softether || { echo "latest image push error"; exit 1; }
+          # push version
+          VERSION=$( docker images | grep -i croc/softether | awk '{ print $2 }' | grep -i '^v' | sort | uniq )
+          echo "Image version: $VERSION"
+          docker push croc/softether:$VERSION || { echo "version ($VERSION) image push error"; exit 1; }
+  build-arm64:
+    # The type of runner that the job will run on
+    runs-on: ubuntu-latest
+    # Steps represent a sequence of tasks that will be executed as part of the job
+    steps:
+      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+      - uses: actions/checkout@v3
+      - name: get latest url
+        run: |
+          BASE_URL="https://www.softether-download.com"
+          LATEST_FOLDER=$( curl -s $BASE_URL/files/softether/ | tr ';' '\n' | grep -i href | awk -F'"' '{ print $2 }' | sort -n | tail -n1 )
+          echo "Latest folder is $LATEST_FOLDER"
+          for FOLDER_STRING in "Intel_x64_or_AMD64" "ARM_64bit"
+          do
+            LATEST=$( curl -s "$BASE_URL/$LATEST_FOLDER/Linux/SoftEther_VPN_Server/64bit_-_$FOLDER_STRING/" | tr '<' '\n' | grep -i href | grep -i tar.gz | awk -F '"' '{ print $2 }' ) 
+            echo -e "\nURL for $FOLDER_STRING: " 
+            echo "$BASE_URL/$LATEST" | tee latest_url-$FOLDER_STRING.txt
+          done
       # buildx with quemu
       - name: qemu setup for buildx for arm build
         uses: docker/setup-qemu-action@v2
@@ -86,10 +118,8 @@ jobs:
           echo "$DOCKERHUB_PASS" | docker login --username=$DOCKERHUB_USER --password-stdin
           docker images | grep -i softether
           # push latest images
-          docker push croc/softether || { echo "latest image push error"; exit 1; }
           docker push croc/softether-arm64 || { echo "latest image push error - arm64"; exit 1; }
           # push version
           VERSION=$( docker images | grep -i croc/softether | awk '{ print $2 }' | grep -i '^v' | sort | uniq )
           echo "Image version: $VERSION"
-          docker push croc/softether:$VERSION || { echo "version ($VERSION) image push error"; exit 1; }
           docker push croc/softether-arm64:$VERSION || { echo "version ($VERSION) image push error - arm64"; exit 1; }

+ 1 - 1
Dockerfile

@@ -10,7 +10,7 @@ RUN cd /opt/vpnserver && \
     ls -hal && \
     uname -a && cat /etc/os-release && \
     #make i_read_and_agree_the_license_agreement
-    make 
+    make
 
 RUN chmod 755 /opt/*.sh