neil
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 899 additions and 562 deletions
-
893.github/workflows/DNS.yml
-
6.github/workflows/DragonFlyBSD.yml
-
16.github/workflows/FreeBSD.yml
-
6.github/workflows/Linux.yml
-
5.github/workflows/MacOS.yml
-
6.github/workflows/NetBSD.yml
-
16.github/workflows/OpenBSD.yml
-
7.github/workflows/PebbleStrict.yml
-
16.github/workflows/Solaris.yml
-
14.github/workflows/Ubuntu.yml
-
5.github/workflows/Windows.yml
-
6.github/workflows/dockerhub.yml
-
7.github/workflows/issue.yml
-
30.github/workflows/pr_notify.yml
-
5.github/workflows/shellcheck.yml
-
20acme.sh
-
56dnsapi/dns_gd.sh
-
200dnsapi/dns_kas.sh
-
147dnsapi/dns_la.sh
@ -1,467 +1,426 @@ |
|||||
name: DNS |
|
||||
on: |
|
||||
push: |
|
||||
paths: |
|
||||
- 'dnsapi/*.sh' |
|
||||
- '.github/workflows/DNS.yml' |
|
||||
pull_request: |
|
||||
branches: |
|
||||
- 'dev' |
|
||||
paths: |
|
||||
- 'dnsapi/*.sh' |
|
||||
- '.github/workflows/DNS.yml' |
|
||||
|
|
||||
|
|
||||
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 |
|
||||
|
|
||||
- uses: actions/upload-artifact@v1 |
|
||||
if: failure() |
|
||||
with: |
|
||||
name: Docker-logs |
|
||||
path: | |
|
||||
../acmetest/*.log |
|
||||
../acmetest/logs |
|
||||
|
|
||||
|
|
||||
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 |
|
||||
|
|
||||
- uses: actions/upload-artifact@v1 |
|
||||
if: failure() |
|
||||
with: |
|
||||
name: MacOS-logs |
|
||||
path: | |
|
||||
../acmetest/*.log |
|
||||
|
|
||||
|
|
||||
|
|
||||
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 |
|
||||
|
|
||||
- uses: actions/upload-artifact@v1 |
|
||||
if: failure() |
|
||||
with: |
|
||||
name: Windows-logs |
|
||||
path: | |
|
||||
../acmetest/*.log |
|
||||
|
|
||||
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 |
|
||||
|
|
||||
- uses: actions/upload-artifact@v1 |
|
||||
if: failure() |
|
||||
with: |
|
||||
name: FreeBSD-logs |
|
||||
path: | |
|
||||
../acmetest/*.log |
|
||||
|
|
||||
|
|
||||
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 |
|
||||
|
|
||||
- uses: actions/upload-artifact@v1 |
|
||||
if: failure() |
|
||||
with: |
|
||||
name: Solaris-logs |
|
||||
path: | |
|
||||
../acmetest/*.log |
|
||||
|
|
||||
|
|
||||
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 |
|
||||
|
|
||||
- uses: actions/upload-artifact@v1 |
|
||||
if: failure() |
|
||||
with: |
|
||||
name: OpenBSD-logs |
|
||||
path: | |
|
||||
../acmetest/*.log |
|
||||
|
|
||||
|
|
||||
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 |
|
||||
|
|
||||
- uses: actions/upload-artifact@v1 |
|
||||
if: failure() |
|
||||
with: |
|
||||
name: NetBSD-logs |
|
||||
path: | |
|
||||
../acmetest/*.log |
|
||||
|
|
||||
|
|
||||
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 |
|
||||
|
|
||||
- uses: actions/upload-artifact@v1 |
|
||||
if: failure() |
|
||||
with: |
|
||||
name: DragonFlyBSD-logs |
|
||||
path: | |
|
||||
../acmetest/*.log |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
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 |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,30 @@ |
|||||
|
name: Check dns api |
||||
|
|
||||
|
on: |
||||
|
pull_request_target: |
||||
|
types: |
||||
|
- opened |
||||
|
branches: |
||||
|
- 'dev' |
||||
|
paths: |
||||
|
- 'notify/*.sh' |
||||
|
|
||||
|
|
||||
|
jobs: |
||||
|
welcome: |
||||
|
runs-on: ubuntu-latest |
||||
|
steps: |
||||
|
- uses: actions/github-script@v6 |
||||
|
with: |
||||
|
script: | |
||||
|
await github.rest.issues.createComment({ |
||||
|
issue_number: context.issue.number, |
||||
|
owner: context.repo.owner, |
||||
|
repo: context.repo.repo, |
||||
|
body: `**Welcome** |
||||
|
Please make sure you're read our [Code-of-conduct](../wiki/Code-of-conduct) and add the usage here: [notify](../wiki/notify). |
||||
|
Then reply on this message, otherwise, your code will not be reviewed or merged. |
||||
|
We look forward to reviewing your Pull request shortly ✨ |
||||
|
` |
||||
|
}) |
||||
|
|
@ -0,0 +1,147 @@ |
|||||
|
#!/usr/bin/env sh |
||||
|
|
||||
|
#LA_Id="test123" |
||||
|
#LA_Key="d1j2fdo4dee3948" |
||||
|
|
||||
|
LA_Api="https://api.dns.la/api" |
||||
|
|
||||
|
######## Public functions ##################### |
||||
|
|
||||
|
#Usage: dns_la_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs" |
||||
|
dns_la_add() { |
||||
|
fulldomain=$1 |
||||
|
txtvalue=$2 |
||||
|
|
||||
|
LA_Id="${LA_Id:-$(_readaccountconf_mutable LA_Id)}" |
||||
|
LA_Key="${LA_Key:-$(_readaccountconf_mutable LA_Key)}" |
||||
|
|
||||
|
if [ -z "$LA_Id" ] || [ -z "$LA_Key" ]; then |
||||
|
LA_Id="" |
||||
|
LA_Key="" |
||||
|
_err "You didn't specify a dnsla api id and key yet." |
||||
|
return 1 |
||||
|
fi |
||||
|
|
||||
|
#save the api key and email to the account conf file. |
||||
|
_saveaccountconf_mutable LA_Id "$LA_Id" |
||||
|
_saveaccountconf_mutable LA_Key "$LA_Key" |
||||
|
|
||||
|
_debug "First detect the root zone" |
||||
|
if ! _get_root "$fulldomain"; then |
||||
|
_err "invalid domain" |
||||
|
return 1 |
||||
|
fi |
||||
|
_debug _domain_id "$_domain_id" |
||||
|
_debug _sub_domain "$_sub_domain" |
||||
|
_debug _domain "$_domain" |
||||
|
|
||||
|
_info "Adding record" |
||||
|
if _la_rest "record.ashx?cmd=create&apiid=$LA_Id&apipass=$LA_Key&rtype=json&domainid=$_domain_id&host=$_sub_domain&recordtype=TXT&recorddata=$txtvalue&recordline="; then |
||||
|
if _contains "$response" '"resultid":'; then |
||||
|
_info "Added, OK" |
||||
|
return 0 |
||||
|
elif _contains "$response" '"code":532'; then |
||||
|
_info "Already exists, OK" |
||||
|
return 0 |
||||
|
else |
||||
|
_err "Add txt record error." |
||||
|
return 1 |
||||
|
fi |
||||
|
fi |
||||
|
_err "Add txt record error." |
||||
|
return 1 |
||||
|
|
||||
|
} |
||||
|
|
||||
|
#fulldomain txtvalue |
||||
|
dns_la_rm() { |
||||
|
fulldomain=$1 |
||||
|
txtvalue=$2 |
||||
|
|
||||
|
LA_Id="${LA_Id:-$(_readaccountconf_mutable LA_Id)}" |
||||
|
LA_Key="${LA_Key:-$(_readaccountconf_mutable LA_Key)}" |
||||
|
|
||||
|
_debug "First detect the root zone" |
||||
|
if ! _get_root "$fulldomain"; then |
||||
|
_err "invalid domain" |
||||
|
return 1 |
||||
|
fi |
||||
|
_debug _domain_id "$_domain_id" |
||||
|
_debug _sub_domain "$_sub_domain" |
||||
|
_debug _domain "$_domain" |
||||
|
|
||||
|
_debug "Getting txt records" |
||||
|
if ! _la_rest "record.ashx?cmd=listn&apiid=$LA_Id&apipass=$LA_Key&rtype=json&domainid=$_domain_id&domain=$_domain&host=$_sub_domain&recordtype=TXT&recorddata=$txtvalue"; then |
||||
|
_err "Error" |
||||
|
return 1 |
||||
|
fi |
||||
|
|
||||
|
if ! _contains "$response" '"recordid":'; then |
||||
|
_info "Don't need to remove." |
||||
|
return 0 |
||||
|
fi |
||||
|
|
||||
|
record_id=$(printf "%s" "$response" | grep '"recordid":' | cut -d : -f 2 | cut -d , -f 1 | tr -d '\r' | tr -d '\n') |
||||
|
_debug "record_id" "$record_id" |
||||
|
if [ -z "$record_id" ]; then |
||||
|
_err "Can not get record id to remove." |
||||
|
return 1 |
||||
|
fi |
||||
|
if ! _la_rest "record.ashx?cmd=remove&apiid=$LA_Id&apipass=$LA_Key&rtype=json&domainid=$_domain_id&domain=$_domain&recordid=$record_id"; then |
||||
|
_err "Delete record error." |
||||
|
return 1 |
||||
|
fi |
||||
|
_contains "$response" '"code":300' |
||||
|
|
||||
|
} |
||||
|
|
||||
|
#################### Private functions below ################################## |
||||
|
#_acme-challenge.www.domain.com |
||||
|
#returns |
||||
|
# _sub_domain=_acme-challenge.www |
||||
|
# _domain=domain.com |
||||
|
# _domain_id=sdjkglgdfewsdfg |
||||
|
_get_root() { |
||||
|
domain=$1 |
||||
|
i=1 |
||||
|
p=1 |
||||
|
|
||||
|
while true; do |
||||
|
h=$(printf "%s" "$domain" | cut -d . -f $i-100) |
||||
|
if [ -z "$h" ]; then |
||||
|
#not valid |
||||
|
return 1 |
||||
|
fi |
||||
|
|
||||
|
if ! _la_rest "domain.ashx?cmd=get&apiid=$LA_Id&apipass=$LA_Key&rtype=json&domain=$h"; then |
||||
|
return 1 |
||||
|
fi |
||||
|
|
||||
|
if _contains "$response" '"domainid":'; then |
||||
|
_domain_id=$(printf "%s" "$response" | grep '"domainid":' | cut -d : -f 2 | cut -d , -f 1 | tr -d '\r' | tr -d '\n') |
||||
|
if [ "$_domain_id" ]; then |
||||
|
_sub_domain=$(printf "%s" "$domain" | cut -d . -f 1-$p) |
||||
|
_domain="$h" |
||||
|
return 0 |
||||
|
fi |
||||
|
return 1 |
||||
|
fi |
||||
|
p="$i" |
||||
|
i=$(_math "$i" + 1) |
||||
|
done |
||||
|
return 1 |
||||
|
} |
||||
|
|
||||
|
#Usage: URI |
||||
|
_la_rest() { |
||||
|
url="$LA_Api/$1" |
||||
|
_debug "$url" |
||||
|
|
||||
|
if ! response="$(_get "$url" | tr -d ' ' | tr "}" ",")"; then |
||||
|
_err "Error: $url" |
||||
|
return 1 |
||||
|
fi |
||||
|
|
||||
|
_debug2 response "$response" |
||||
|
return 0 |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue