|
|
@@ -0,0 +1,95 @@
|
|
|
+name: LetsEncrypt
|
|
|
+on:
|
|
|
+ push:
|
|
|
+ branches:
|
|
|
+ - '*'
|
|
|
+ paths:
|
|
|
+ - '**.sh'
|
|
|
+ - '**.yml'
|
|
|
+ pull_request:
|
|
|
+ branches:
|
|
|
+ - dev
|
|
|
+ paths:
|
|
|
+ - '**.sh'
|
|
|
+
|
|
|
+
|
|
|
+jobs:
|
|
|
+ CheckToken:
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ outputs:
|
|
|
+ hasToken: ${{ steps.step_one.outputs.hasToken }}
|
|
|
+ env:
|
|
|
+ NGROK_TOKEN : ${{ secrets.NGROK_TOKEN }}
|
|
|
+ steps:
|
|
|
+ - name: Set the value
|
|
|
+ id: step_one
|
|
|
+ run: |
|
|
|
+ if [ "$NGROK_TOKEN" ] ; then
|
|
|
+ echo "::set-output name=hasToken::true"
|
|
|
+ else
|
|
|
+ echo "::set-output name=hasToken::false"
|
|
|
+ fi
|
|
|
+ - name: Check the value
|
|
|
+ run: echo ${{ steps.step_one.outputs.hasToken }}
|
|
|
+
|
|
|
+ Ubuntu:
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ needs: CheckToken
|
|
|
+ if: "contains(needs.CheckToken.outputs.hasToken, 'true')"
|
|
|
+ env:
|
|
|
+ NGROK_TOKEN : ${{ secrets.NGROK_TOKEN }}
|
|
|
+ TEST_LOCAL: 1
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v2
|
|
|
+ - name: Install tools
|
|
|
+ run: sudo apt-get install -y socat
|
|
|
+ - name: Clone acmetest
|
|
|
+ run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
|
|
+ - name: Run acmetest
|
|
|
+ run: cd ../acmetest && sudo TEST_LOCAL="$TEST_LOCAL" NGROK_TOKEN="$NGROK_TOKEN" ./letest.sh
|
|
|
+
|
|
|
+ MacOS:
|
|
|
+ runs-on: macos-latest
|
|
|
+ needs: Ubuntu
|
|
|
+ env:
|
|
|
+ NGROK_TOKEN : ${{ secrets.NGROK_TOKEN }}
|
|
|
+ TEST_LOCAL: 1
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v2
|
|
|
+ - name: Install tools
|
|
|
+ run: brew update && brew install socat;
|
|
|
+ - name: Clone acmetest
|
|
|
+ run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
|
|
+ - name: Run acmetest
|
|
|
+ run: cd ../acmetest && sudo TEST_LOCAL="$TEST_LOCAL" NGROK_TOKEN="$NGROK_TOKEN" ./letest.sh
|
|
|
+
|
|
|
+ Windows:
|
|
|
+ runs-on: windows-latest
|
|
|
+ needs: MacOS
|
|
|
+ env:
|
|
|
+ NGROK_TOKEN : ${{ secrets.NGROK_TOKEN }}
|
|
|
+ TEST_LOCAL: 1
|
|
|
+ #The 80 port is used by Windows server, we have to use a custom port, ngrok will also use this port.
|
|
|
+ Le_HTTPPort: 8888
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v2
|
|
|
+ - name: Install cygwin base packages with chocolatey
|
|
|
+ run: |
|
|
|
+ choco config get cacheLocation
|
|
|
+ choco install --no-progress cygwin
|
|
|
+ shell: cmd
|
|
|
+ - name: Install cygwin additional packages
|
|
|
+ run: |
|
|
|
+ C:\tools\cygwin\cygwinsetup.exe -qgnNdO -R C:/tools/cygwin -s http://mirrors.kernel.org/sourceware/cygwin/ -P socat,curl,cron,unzip,git
|
|
|
+ shell: cmd
|
|
|
+ - name: Set ENV
|
|
|
+ run: |
|
|
|
+ echo '::set-env name=PATH::C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin'
|
|
|
+ - name: Clone acmetest
|
|
|
+ shell: cmd
|
|
|
+ run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/ && sed -i 's/\r//g' acmetest/acme.sh/acme.sh
|
|
|
+ - name: Run acmetest
|
|
|
+ shell: cmd
|
|
|
+ run: cd ../acmetest && bash.exe -c ./letest.sh
|
|
|
+
|
|
|
+
|