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