acme.sh/.github/workflows/DNS.yml

468 lines
17 KiB
YAML
Raw Normal View History

2020-09-11 17:11:26 +02:00
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: |
2020-09-12 18:16:04 +02:00
if [ "${{secrets.TokenName1}}" ] ; then
2020-09-11 17:11:26 +02:00
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
2020-09-11 17:35:27 +02:00
if: "contains(needs.CheckToken.outputs.hasToken, 'false')"
2020-09-11 17:11:26 +02:00
steps:
2020-09-11 17:35:27 +02:00
- name: "Read this: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Test"
2020-09-11 17:11:26 +02:00
run: |
2020-09-28 15:50:20 +02:00
echo "Read this: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Test"
2022-01-08 12:19:51 +01:00
if [ "${{github.repository_owner}}" != "acmesh-official" ]; then
2020-09-28 15:50:20 +02:00
false
fi
2020-09-11 17:11:26 +02:00
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 }}
2021-12-05 14:05:18 +01:00
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
2020-09-11 17:11:26 +02:00
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 }}
2020-09-11 17:11:26 +02:00
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
2020-09-12 18:16:04 +02:00
run: |
cd ../acmetest
2020-09-12 18:16:04 +02:00
if [ "${{ secrets.TokenName1}}" ] ; then
2021-08-08 02:49:15 +02:00
echo "${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}" >> docker.env
2020-09-12 18:16:04 +02:00
fi
if [ "${{ secrets.TokenName2}}" ] ; then
2021-08-08 02:49:15 +02:00
echo "${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}" >> docker.env
2020-09-12 18:16:04 +02:00
fi
if [ "${{ secrets.TokenName3}}" ] ; then
2021-08-08 02:49:15 +02:00
echo "${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}" >> docker.env
2020-09-12 18:16:04 +02:00
fi
if [ "${{ secrets.TokenName4}}" ] ; then
2021-08-08 02:49:15 +02:00
echo "${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}" >> docker.env
2020-09-12 18:16:04 +02:00
fi
if [ "${{ secrets.TokenName5}}" ] ; then
2021-08-08 02:49:15 +02:00
echo "${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}" >> docker.env
2020-09-12 18:16:04 +02:00
fi
2021-08-08 02:49:15 +02:00
echo "TEST_DNS_NO_WILDCARD" >> docker.env
echo "http_proxy" >> docker.env
echo "https_proxy" >> docker.env
2020-09-11 17:11:26 +02:00
- name: Run acmetest
2020-09-12 08:22:18 +02:00
run: cd ../acmetest && ./rundocker.sh testall
2020-09-11 17:11:26 +02:00
2022-08-10 15:44:22 +02:00
- uses: actions/upload-artifact@v1
if: failure()
with:
name: Docker-logs
2022-08-13 03:01:57 +02:00
path: |
*.log
logs
2022-08-10 15:44:22 +02:00
2020-09-11 17:11:26 +02:00
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 }}
2021-12-06 15:03:38 +01:00
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
2020-09-11 17:11:26 +02:00
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 }}
2020-09-11 17:11:26 +02:00
steps:
- uses: actions/checkout@v2
- name: Install tools
2020-10-21 09:07:25 +02:00
run: brew install socat
2020-09-11 17:11:26 +02:00
- name: Clone acmetest
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
- name: Run acmetest
2020-09-12 18:16:04 +02:00
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
2020-09-11 17:11:26 +02:00
2022-08-10 15:44:22 +02:00
- uses: actions/upload-artifact@v1
if: failure()
with:
name: MacOS-logs
2022-08-11 16:15:38 +02:00
path: |
*.log
2022-08-10 15:44:22 +02:00
2020-09-11 17:11:26 +02:00
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 }}
2021-12-06 15:03:38 +01:00
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
2020-09-11 17:11:26 +02:00
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 }}
2020-09-11 17:11:26 +02:00
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
2020-11-18 16:16:36 +01:00
shell: cmd
2020-09-11 17:11:26 +02:00
run: |
2020-11-18 16:16:36 +01:00
echo PATH=C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin >> %GITHUB_ENV%
2020-09-11 17:11:26 +02:00
- name: Clone acmetest
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
- name: Run acmetest
2020-09-14 15:51:21 +02:00
shell: bash
2020-09-12 18:16:04 +02:00
run: |
if [ "${{ secrets.TokenName1}}" ] ; then
2020-09-14 15:51:21 +02:00
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
2020-09-12 18:16:04 +02:00
fi
if [ "${{ secrets.TokenName2}}" ] ; then
2020-09-14 15:51:21 +02:00
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
2020-09-12 18:16:04 +02:00
fi
if [ "${{ secrets.TokenName3}}" ] ; then
2020-09-14 15:51:21 +02:00
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
2020-09-12 18:16:04 +02:00
fi
if [ "${{ secrets.TokenName4}}" ] ; then
2020-09-14 15:51:21 +02:00
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
2020-09-12 18:16:04 +02:00
fi
if [ "${{ secrets.TokenName5}}" ] ; then
2020-09-14 15:51:21 +02:00
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
2020-09-12 18:16:04 +02:00
fi
cd ../acmetest
2020-09-14 15:51:21 +02:00
./letest.sh
2020-09-11 17:11:26 +02:00
2022-08-10 15:44:22 +02:00
- uses: actions/upload-artifact@v1
if: failure()
with:
name: Windows-logs
2022-08-11 16:15:38 +02:00
path: |
*.log
2022-08-10 15:44:22 +02:00
2020-09-24 16:57:26 +02:00
FreeBSD:
2022-07-07 16:30:35 +02:00
runs-on: macos-12
2020-09-24 16:57:26 +02:00
needs: Windows
env:
TEST_DNS : ${{ secrets.TEST_DNS }}
TestingDomain: ${{ secrets.TestingDomain }}
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
2021-12-06 15:03:38 +01:00
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
2020-09-24 16:57:26 +02:00
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 }}
2020-09-24 16:57:26 +02:00
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
2020-09-24 16:57:26 +02:00
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}}'
2020-09-24 16:57:26 +02:00
prepare: pkg install -y socat curl
2020-10-09 16:33:21 +02:00
usesh: true
copyback: false
2020-09-24 16:57:26 +02:00
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
2020-09-11 17:11:26 +02:00
2022-08-10 15:44:22 +02:00
- uses: actions/upload-artifact@v1
if: failure()
with:
name: FreeBSD-logs
2022-08-11 16:15:38 +02:00
path: |
*.log
2022-08-10 15:44:22 +02:00
Solaris:
2022-07-07 16:30:35 +02:00
runs-on: macos-12
needs: FreeBSD
env:
TEST_DNS : ${{ secrets.TEST_DNS }}
TestingDomain: ${{ secrets.TestingDomain }}
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
2021-12-06 15:03:38 +01:00
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
2022-07-07 16:30:35 +02:00
2022-08-10 15:44:22 +02:00
- uses: actions/upload-artifact@v1
if: failure()
with:
name: Solaris-logs
2022-08-11 16:15:38 +02:00
path: |
*.log
2022-08-10 15:44:22 +02:00
2022-07-07 16:30:35 +02:00
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 }}
2022-07-07 16:30:35 +02:00
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
2022-07-07 16:30:35 +02:00
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}}'
2022-07-07 16:30:35 +02:00
prepare: pkg_add socat curl
usesh: true
copyback: false
2022-07-07 16:30:35 +02:00
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
2022-08-10 15:44:22 +02:00
- uses: actions/upload-artifact@v1
if: failure()
with:
name: OpenBSD-logs
2022-08-11 16:15:38 +02:00
path: |
*.log
2022-08-10 15:44:22 +02:00
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
2022-08-10 15:44:22 +02:00
- uses: actions/upload-artifact@v1
if: failure()
with:
name: NetBSD-logs
2022-08-11 16:15:38 +02:00
path: |
*.log
2022-08-10 15:44:22 +02:00
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
2022-08-10 15:44:22 +02:00
- uses: actions/upload-artifact@v1
if: failure()
with:
name: DragonFlyBSD-logs
2022-08-11 16:15:38 +02:00
path: |
*.log
2022-08-10 15:44:22 +02:00