427 lines
15 KiB
YAML
427 lines
15 KiB
YAML
name: DNS
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'dnsapi/*.sh'
|
|
- '.github/workflows/DNS.yml'
|
|
pull_request:
|
|
branches:
|
|
- 'dev'
|
|
paths:
|
|
- 'dnsapi/*.sh'
|
|
- '.github/workflows/DNS.yml'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
CheckToken:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
hasToken: ${{ steps.step_one.outputs.hasToken }}
|
|
steps:
|
|
- name: Set the value
|
|
id: step_one
|
|
run: |
|
|
if [ "${{secrets.TokenName1}}" ] ; 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 }}
|
|
|
|
Fail:
|
|
runs-on: ubuntu-latest
|
|
needs: CheckToken
|
|
if: "contains(needs.CheckToken.outputs.hasToken, 'false')"
|
|
steps:
|
|
- name: "Read this: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Test"
|
|
run: |
|
|
echo "Read this: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Test"
|
|
if [ "${{github.repository_owner}}" != "acmesh-official" ]; then
|
|
false
|
|
fi
|
|
|
|
Docker:
|
|
runs-on: ubuntu-latest
|
|
needs: CheckToken
|
|
if: "contains(needs.CheckToken.outputs.hasToken, 'true')"
|
|
env:
|
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
|
TestingDomain: ${{ secrets.TestingDomain }}
|
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
|
CASE: le_test_dnsapi
|
|
TEST_LOCAL: 1
|
|
DEBUG: ${{ secrets.DEBUG }}
|
|
http_proxy: ${{ secrets.http_proxy }}
|
|
https_proxy: ${{ secrets.https_proxy }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Clone acmetest
|
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
|
- name: Set env file
|
|
run: |
|
|
cd ../acmetest
|
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
|
echo "${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}" >> docker.env
|
|
fi
|
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
|
echo "${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}" >> docker.env
|
|
fi
|
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
|
echo "${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}" >> docker.env
|
|
fi
|
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
|
echo "${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}" >> docker.env
|
|
fi
|
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
|
echo "${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}" >> docker.env
|
|
fi
|
|
echo "TEST_DNS_NO_WILDCARD" >> docker.env
|
|
echo "http_proxy" >> docker.env
|
|
echo "https_proxy" >> docker.env
|
|
- name: Run acmetest
|
|
run: cd ../acmetest && ./rundocker.sh testall
|
|
|
|
|
|
|
|
|
|
MacOS:
|
|
runs-on: macos-latest
|
|
needs: Docker
|
|
env:
|
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
|
TestingDomain: ${{ secrets.TestingDomain }}
|
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
|
CASE: le_test_dnsapi
|
|
TEST_LOCAL: 1
|
|
DEBUG: ${{ secrets.DEBUG }}
|
|
http_proxy: ${{ secrets.http_proxy }}
|
|
https_proxy: ${{ secrets.https_proxy }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install tools
|
|
run: 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: |
|
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
|
fi
|
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
|
fi
|
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
|
fi
|
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
|
fi
|
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
|
fi
|
|
cd ../acmetest
|
|
./letest.sh
|
|
|
|
|
|
|
|
|
|
Windows:
|
|
runs-on: windows-latest
|
|
needs: MacOS
|
|
env:
|
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
|
TestingDomain: ${{ secrets.TestingDomain }}
|
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
|
CASE: le_test_dnsapi
|
|
TEST_LOCAL: 1
|
|
DEBUG: ${{ secrets.DEBUG }}
|
|
http_proxy: ${{ secrets.http_proxy }}
|
|
https_proxy: ${{ secrets.https_proxy }}
|
|
steps:
|
|
- name: Set git to use LF
|
|
run: |
|
|
git config --global core.autocrlf false
|
|
- 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
|
|
shell: cmd
|
|
run: |
|
|
echo PATH=C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin >> %GITHUB_ENV%
|
|
- name: Clone acmetest
|
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
|
- name: Run acmetest
|
|
shell: bash
|
|
run: |
|
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
|
fi
|
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
|
fi
|
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
|
fi
|
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
|
fi
|
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
|
fi
|
|
cd ../acmetest
|
|
./letest.sh
|
|
|
|
|
|
|
|
FreeBSD:
|
|
runs-on: macos-12
|
|
needs: Windows
|
|
env:
|
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
|
TestingDomain: ${{ secrets.TestingDomain }}
|
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
|
CASE: le_test_dnsapi
|
|
TEST_LOCAL: 1
|
|
DEBUG: ${{ secrets.DEBUG }}
|
|
http_proxy: ${{ secrets.http_proxy }}
|
|
https_proxy: ${{ secrets.https_proxy }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Clone acmetest
|
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
|
- uses: vmactions/freebsd-vm@v0
|
|
with:
|
|
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
|
prepare: pkg install -y socat curl
|
|
usesh: true
|
|
copyback: false
|
|
run: |
|
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
|
fi
|
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
|
fi
|
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
|
fi
|
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
|
fi
|
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
|
fi
|
|
cd ../acmetest
|
|
./letest.sh
|
|
|
|
|
|
|
|
|
|
Solaris:
|
|
runs-on: macos-12
|
|
needs: FreeBSD
|
|
env:
|
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
|
TestingDomain: ${{ secrets.TestingDomain }}
|
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
|
CASE: le_test_dnsapi
|
|
TEST_LOCAL: 1
|
|
DEBUG: ${{ secrets.DEBUG }}
|
|
http_proxy: ${{ secrets.http_proxy }}
|
|
https_proxy: ${{ secrets.https_proxy }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Clone acmetest
|
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
|
- uses: vmactions/solaris-vm@v0
|
|
with:
|
|
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
|
copyback: false
|
|
prepare: pkgutil -y -i socat
|
|
run: |
|
|
pkg set-mediator -v -I default@1.1 openssl
|
|
export PATH=/usr/gnu/bin:$PATH
|
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
|
fi
|
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
|
fi
|
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
|
fi
|
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
|
fi
|
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
|
fi
|
|
cd ../acmetest
|
|
./letest.sh
|
|
|
|
|
|
|
|
|
|
OpenBSD:
|
|
runs-on: macos-12
|
|
needs: Solaris
|
|
env:
|
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
|
TestingDomain: ${{ secrets.TestingDomain }}
|
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
|
CASE: le_test_dnsapi
|
|
TEST_LOCAL: 1
|
|
DEBUG: ${{ secrets.DEBUG }}
|
|
http_proxy: ${{ secrets.http_proxy }}
|
|
https_proxy: ${{ secrets.https_proxy }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Clone acmetest
|
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
|
- uses: vmactions/openbsd-vm@v0
|
|
with:
|
|
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
|
prepare: pkg_add socat curl
|
|
usesh: true
|
|
copyback: false
|
|
run: |
|
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
|
fi
|
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
|
fi
|
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
|
fi
|
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
|
fi
|
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
|
fi
|
|
cd ../acmetest
|
|
./letest.sh
|
|
|
|
|
|
|
|
|
|
NetBSD:
|
|
runs-on: macos-12
|
|
needs: OpenBSD
|
|
env:
|
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
|
TestingDomain: ${{ secrets.TestingDomain }}
|
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
|
CASE: le_test_dnsapi
|
|
TEST_LOCAL: 1
|
|
DEBUG: ${{ secrets.DEBUG }}
|
|
http_proxy: ${{ secrets.http_proxy }}
|
|
https_proxy: ${{ secrets.https_proxy }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Clone acmetest
|
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
|
- uses: vmactions/netbsd-vm@v0
|
|
with:
|
|
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
|
prepare: |
|
|
pkg_add curl socat
|
|
usesh: true
|
|
copyback: false
|
|
run: |
|
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
|
fi
|
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
|
fi
|
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
|
fi
|
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
|
fi
|
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
|
fi
|
|
cd ../acmetest
|
|
./letest.sh
|
|
|
|
|
|
|
|
|
|
DragonFlyBSD:
|
|
runs-on: macos-12
|
|
needs: NetBSD
|
|
env:
|
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
|
TestingDomain: ${{ secrets.TestingDomain }}
|
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
|
CASE: le_test_dnsapi
|
|
TEST_LOCAL: 1
|
|
DEBUG: ${{ secrets.DEBUG }}
|
|
http_proxy: ${{ secrets.http_proxy }}
|
|
https_proxy: ${{ secrets.https_proxy }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Clone acmetest
|
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
|
- uses: vmactions/dragonflybsd-vm@v0
|
|
with:
|
|
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
|
prepare: |
|
|
pkg install -y curl socat
|
|
usesh: true
|
|
copyback: false
|
|
run: |
|
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
|
fi
|
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
|
fi
|
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
|
fi
|
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
|
fi
|
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
|
fi
|
|
cd ../acmetest
|
|
./letest.sh
|
|
|
|
|
|
|
|
|
|
|