committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 134 additions and 2166 deletions
-
12.github/FUNDING.yml
-
27.github/ISSUE_TEMPLATE.md
-
9.github/PULL_REQUEST_TEMPLATE.md
-
465.github/workflows/DNS.yml
-
71.github/workflows/DragonFlyBSD.yml
-
76.github/workflows/FreeBSD.yml
-
48.github/workflows/Linux.yml
-
60.github/workflows/MacOS.yml
-
71.github/workflows/NetBSD.yml
-
76.github/workflows/OpenBSD.yml
-
72.github/workflows/PebbleStrict.yml
-
74.github/workflows/Solaris.yml
-
103.github/workflows/Ubuntu.yml
-
78.github/workflows/Windows.yml
-
73.github/workflows/dockerhub.yml
-
19.github/workflows/issue.yml
-
30.github/workflows/pr_dns.yml
-
30.github/workflows/pr_notify.yml
-
38.github/workflows/shellcheck.yml
-
295README.md
-
573acme.sh
@ -1,12 +0,0 @@ |
|||||
# These are supported funding model platforms |
|
||||
|
|
||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] |
|
||||
patreon: # Replace with a single Patreon username |
|
||||
open_collective: acmesh |
|
||||
ko_fi: neilpang |
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel |
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry |
|
||||
liberapay: # Replace with a single Liberapay username |
|
||||
issuehunt: # Replace with a single IssueHunt username |
|
||||
otechie: # Replace with a single Otechie username |
|
||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] |
|
||||
@ -1,27 +0,0 @@ |
|||||
<!-- |
|
||||
我很忙, 每天可能只有 几秒钟 时间看你的 issue, 如果不按照我的要求写 issue, 你可能不会得到任何回复, 石沉大海. |
|
||||
|
|
||||
请确保已经更新到最新的代码, 然后贴上来 `--debug 2` 的调试输出. 没有调试信息. 我做不了什么. |
|
||||
如何调试 https://github.com/acmesh-official/acme.sh/wiki/How-to-debug-acme.sh |
|
||||
|
|
||||
If it is a bug report: |
|
||||
- make sure you are able to repro it on the latest released version. |
|
||||
You can install the latest version by: `acme.sh --upgrade` |
|
||||
|
|
||||
- Search the existing issues. |
|
||||
- Refer to the [WIKI](https://wiki.acme.sh). |
|
||||
- Debug info [Debug](https://github.com/acmesh-official/acme.sh/wiki/How-to-debug-acme.sh). |
|
||||
|
|
||||
--> |
|
||||
|
|
||||
Steps to reproduce |
|
||||
------------------ |
|
||||
|
|
||||
Debug log |
|
||||
----------------- |
|
||||
|
|
||||
``` |
|
||||
acme.sh --issue ..... --debug 2 |
|
||||
``` |
|
||||
|
|
||||
|
|
||||
@ -1,9 +0,0 @@ |
|||||
<!-- |
|
||||
1. Do NOT send pull request to `master` branch. |
|
||||
Please send to `dev` branch instead. |
|
||||
Any PR to `master` branch will NOT be merged. |
|
||||
|
|
||||
2. For dns api support, read this guide first: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Dev-Guide |
|
||||
You will NOT get any review without passing this guide. You also need to fix the CI errors. |
|
||||
|
|
||||
--> |
|
||||
@ -1,465 +0,0 @@ |
|||||
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 }}-${{ github.ref }} |
|
||||
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 }} |
|
||||
TokenName1: ${{ secrets.TokenName1}} |
|
||||
TokenName2: ${{ secrets.TokenName2}} |
|
||||
TokenName3: ${{ secrets.TokenName3}} |
|
||||
TokenName4: ${{ secrets.TokenName4}} |
|
||||
TokenName5: ${{ secrets.TokenName5}} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 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 |
|
||||
|
|
||||
- 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 }} |
|
||||
TokenName1: ${{ secrets.TokenName1}} |
|
||||
TokenName2: ${{ secrets.TokenName2}} |
|
||||
TokenName3: ${{ secrets.TokenName3}} |
|
||||
TokenName4: ${{ secrets.TokenName4}} |
|
||||
TokenName5: ${{ secrets.TokenName5}} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Install tools |
|
||||
run: brew install socat |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 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 }} |
|
||||
TokenName1: ${{ secrets.TokenName1}} |
|
||||
TokenName2: ${{ secrets.TokenName2}} |
|
||||
TokenName3: ${{ secrets.TokenName3}} |
|
||||
TokenName4: ${{ secrets.TokenName4}} |
|
||||
TokenName5: ${{ secrets.TokenName5}} |
|
||||
steps: |
|
||||
- name: Set git to use LF |
|
||||
run: | |
|
||||
git config --global core.autocrlf false |
|
||||
- uses: actions/checkout@v3 |
|
||||
- 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 https://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 --depth=1 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 }} |
|
||||
TokenName1: ${{ secrets.TokenName1}} |
|
||||
TokenName2: ${{ secrets.TokenName2}} |
|
||||
TokenName3: ${{ secrets.TokenName3}} |
|
||||
TokenName4: ${{ secrets.TokenName4}} |
|
||||
TokenName5: ${{ secrets.TokenName5}} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 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 TokenName1 TokenName2 TokenName3 TokenName4 TokenName5 ${{ 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 |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
OpenBSD: |
|
||||
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 }} |
|
||||
TokenName1: ${{ secrets.TokenName1}} |
|
||||
TokenName2: ${{ secrets.TokenName2}} |
|
||||
TokenName3: ${{ secrets.TokenName3}} |
|
||||
TokenName4: ${{ secrets.TokenName4}} |
|
||||
TokenName5: ${{ secrets.TokenName5}} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 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 TokenName1 TokenName2 TokenName3 TokenName4 TokenName5 ${{ 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 }} |
|
||||
TokenName1: ${{ secrets.TokenName1}} |
|
||||
TokenName2: ${{ secrets.TokenName2}} |
|
||||
TokenName3: ${{ secrets.TokenName3}} |
|
||||
TokenName4: ${{ secrets.TokenName4}} |
|
||||
TokenName5: ${{ secrets.TokenName5}} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 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 TokenName1 TokenName2 TokenName3 TokenName4 TokenName5 ${{ 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 }} |
|
||||
TokenName1: ${{ secrets.TokenName1}} |
|
||||
TokenName2: ${{ secrets.TokenName2}} |
|
||||
TokenName3: ${{ secrets.TokenName3}} |
|
||||
TokenName4: ${{ secrets.TokenName4}} |
|
||||
TokenName5: ${{ secrets.TokenName5}} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 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 TokenName1 TokenName2 TokenName3 TokenName4 TokenName5 ${{ 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 |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
Solaris: |
|
||||
runs-on: macos-12 |
|
||||
needs: DragonFlyBSD |
|
||||
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 }} |
|
||||
HTTPS_INSECURE: 1 # always set to 1 to ignore https error, since Solaris doesn't accept the expired ISRG X1 root |
|
||||
TokenName1: ${{ secrets.TokenName1}} |
|
||||
TokenName2: ${{ secrets.TokenName2}} |
|
||||
TokenName3: ${{ secrets.TokenName3}} |
|
||||
TokenName4: ${{ secrets.TokenName4}} |
|
||||
TokenName5: ${{ secrets.TokenName5}} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 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 HTTPS_INSECURE TokenName1 TokenName2 TokenName3 TokenName4 TokenName5 ${{ 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 |
|
||||
|
|
||||
|
|
||||
@ -1,71 +0,0 @@ |
|||||
name: DragonFlyBSD |
|
||||
on: |
|
||||
push: |
|
||||
branches: |
|
||||
- '*' |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/DragonFlyBSD.yml' |
|
||||
|
|
||||
pull_request: |
|
||||
branches: |
|
||||
- dev |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/DragonFlyBSD.yml' |
|
||||
|
|
||||
concurrency: |
|
||||
group: ${{ github.workflow }}-${{ github.ref }} |
|
||||
cancel-in-progress: true |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
jobs: |
|
||||
DragonFlyBSD: |
|
||||
strategy: |
|
||||
matrix: |
|
||||
include: |
|
||||
- TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
CA_ECDSA: "" |
|
||||
CA: "" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
#- TEST_ACME_Server: "ZeroSSL.com" |
|
||||
# CA_ECDSA: "ZeroSSL ECC Domain Secure Site CA" |
|
||||
# CA: "ZeroSSL RSA Domain Secure Site CA" |
|
||||
# CA_EMAIL: "githubtest@acme.sh" |
|
||||
# TEST_PREFERRED_CHAIN: "" |
|
||||
runs-on: macos-12 |
|
||||
env: |
|
||||
TEST_LOCAL: 1 |
|
||||
TEST_ACME_Server: ${{ matrix.TEST_ACME_Server }} |
|
||||
CA_ECDSA: ${{ matrix.CA_ECDSA }} |
|
||||
CA: ${{ matrix.CA }} |
|
||||
CA_EMAIL: ${{ matrix.CA_EMAIL }} |
|
||||
TEST_PREFERRED_CHAIN: ${{ matrix.TEST_PREFERRED_CHAIN }} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- uses: vmactions/cf-tunnel@v0 |
|
||||
id: tunnel |
|
||||
with: |
|
||||
protocol: http |
|
||||
port: 8080 |
|
||||
- name: Set envs |
|
||||
run: echo "TestingDomain=${{steps.tunnel.outputs.server}}" >> $GITHUB_ENV |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/ |
|
||||
- uses: vmactions/dragonflybsd-vm@v0 |
|
||||
with: |
|
||||
envs: 'TEST_LOCAL TestingDomain TEST_ACME_Server CA_ECDSA CA CA_EMAIL TEST_PREFERRED_CHAIN' |
|
||||
copyback: "false" |
|
||||
nat: | |
|
||||
"8080": "80" |
|
||||
prepare: | |
|
||||
pkg install -y curl socat libnghttp2 |
|
||||
usesh: true |
|
||||
run: | |
|
||||
cd ../acmetest \ |
|
||||
&& ./letest.sh |
|
||||
|
|
||||
|
|
||||
@ -1,76 +0,0 @@ |
|||||
name: FreeBSD |
|
||||
on: |
|
||||
push: |
|
||||
branches: |
|
||||
- '*' |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/FreeBSD.yml' |
|
||||
|
|
||||
pull_request: |
|
||||
branches: |
|
||||
- dev |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/FreeBSD.yml' |
|
||||
|
|
||||
concurrency: |
|
||||
group: ${{ github.workflow }}-${{ github.ref }} |
|
||||
cancel-in-progress: true |
|
||||
|
|
||||
|
|
||||
|
|
||||
jobs: |
|
||||
FreeBSD: |
|
||||
strategy: |
|
||||
matrix: |
|
||||
include: |
|
||||
- TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
CA_ECDSA: "" |
|
||||
CA: "" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
- TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
CA_ECDSA: "" |
|
||||
CA: "" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
ACME_USE_WGET: 1 |
|
||||
#- TEST_ACME_Server: "ZeroSSL.com" |
|
||||
# CA_ECDSA: "ZeroSSL ECC Domain Secure Site CA" |
|
||||
# CA: "ZeroSSL RSA Domain Secure Site CA" |
|
||||
# CA_EMAIL: "githubtest@acme.sh" |
|
||||
# TEST_PREFERRED_CHAIN: "" |
|
||||
runs-on: macos-12 |
|
||||
env: |
|
||||
TEST_LOCAL: 1 |
|
||||
TEST_ACME_Server: ${{ matrix.TEST_ACME_Server }} |
|
||||
CA_ECDSA: ${{ matrix.CA_ECDSA }} |
|
||||
CA: ${{ matrix.CA }} |
|
||||
CA_EMAIL: ${{ matrix.CA_EMAIL }} |
|
||||
TEST_PREFERRED_CHAIN: ${{ matrix.TEST_PREFERRED_CHAIN }} |
|
||||
ACME_USE_WGET: ${{ matrix.ACME_USE_WGET }} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- uses: vmactions/cf-tunnel@v0 |
|
||||
id: tunnel |
|
||||
with: |
|
||||
protocol: http |
|
||||
port: 8080 |
|
||||
- name: Set envs |
|
||||
run: echo "TestingDomain=${{steps.tunnel.outputs.server}}" >> $GITHUB_ENV |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/ |
|
||||
- uses: vmactions/freebsd-vm@v0 |
|
||||
with: |
|
||||
envs: 'TEST_LOCAL TestingDomain TEST_ACME_Server CA_ECDSA CA CA_EMAIL TEST_PREFERRED_CHAIN ACME_USE_WGET' |
|
||||
nat: | |
|
||||
"8080": "80" |
|
||||
prepare: pkg install -y socat curl wget |
|
||||
usesh: true |
|
||||
copyback: false |
|
||||
run: | |
|
||||
cd ../acmetest \ |
|
||||
&& ./letest.sh |
|
||||
|
|
||||
|
|
||||
@ -1,48 +0,0 @@ |
|||||
name: Linux |
|
||||
on: |
|
||||
push: |
|
||||
branches: |
|
||||
- '*' |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/Linux.yml' |
|
||||
|
|
||||
pull_request: |
|
||||
branches: |
|
||||
- dev |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/Linux.yml' |
|
||||
|
|
||||
|
|
||||
concurrency: |
|
||||
group: ${{ github.workflow }}-${{ github.ref }} |
|
||||
cancel-in-progress: true |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
jobs: |
|
||||
Linux: |
|
||||
strategy: |
|
||||
matrix: |
|
||||
os: ["ubuntu:latest", "debian:latest", "almalinux:latest", "fedora:latest", "centos:7", "opensuse/leap:latest", "alpine:latest", "oraclelinux:8", "kalilinux/kali", "archlinux:latest", "mageia", "gentoo/stage3"] |
|
||||
runs-on: ubuntu-latest |
|
||||
env: |
|
||||
TEST_LOCAL: 1 |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Clone acmetest |
|
||||
run: | |
|
||||
cd .. \ |
|
||||
&& git clone --depth=1 https://github.com/acmesh-official/acmetest.git \ |
|
||||
&& cp -r acme.sh acmetest/ |
|
||||
- name: Run acmetest |
|
||||
run: | |
|
||||
cd ../acmetest \ |
|
||||
&& ./rundocker.sh testplat ${{ matrix.os }} |
|
||||
|
|
||||
|
|
||||
|
|
||||
@ -1,60 +0,0 @@ |
|||||
name: MacOS |
|
||||
on: |
|
||||
push: |
|
||||
branches: |
|
||||
- '*' |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/MacOS.yml' |
|
||||
|
|
||||
pull_request: |
|
||||
branches: |
|
||||
- dev |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/MacOS.yml' |
|
||||
|
|
||||
concurrency: |
|
||||
group: ${{ github.workflow }}-${{ github.ref }} |
|
||||
cancel-in-progress: true |
|
||||
|
|
||||
|
|
||||
|
|
||||
jobs: |
|
||||
MacOS: |
|
||||
strategy: |
|
||||
matrix: |
|
||||
include: |
|
||||
- TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
CA_ECDSA: "" |
|
||||
CA: "" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
#- TEST_ACME_Server: "ZeroSSL.com" |
|
||||
# CA_ECDSA: "ZeroSSL ECC Domain Secure Site CA" |
|
||||
# CA: "ZeroSSL RSA Domain Secure Site CA" |
|
||||
# CA_EMAIL: "githubtest@acme.sh" |
|
||||
# TEST_PREFERRED_CHAIN: "" |
|
||||
runs-on: macos-latest |
|
||||
env: |
|
||||
TEST_LOCAL: 1 |
|
||||
TEST_ACME_Server: ${{ matrix.TEST_ACME_Server }} |
|
||||
CA_ECDSA: ${{ matrix.CA_ECDSA }} |
|
||||
CA: ${{ matrix.CA }} |
|
||||
CA_EMAIL: ${{ matrix.CA_EMAIL }} |
|
||||
TEST_PREFERRED_CHAIN: ${{ matrix.TEST_PREFERRED_CHAIN }} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Install tools |
|
||||
run: brew install socat |
|
||||
- name: Clone acmetest |
|
||||
run: | |
|
||||
cd .. \ |
|
||||
&& git clone --depth=1 https://github.com/acmesh-official/acmetest.git \ |
|
||||
&& cp -r acme.sh acmetest/ |
|
||||
- name: Run acmetest |
|
||||
run: | |
|
||||
cd ../acmetest \ |
|
||||
&& sudo --preserve-env ./letest.sh |
|
||||
|
|
||||
|
|
||||
@ -1,71 +0,0 @@ |
|||||
name: NetBSD |
|
||||
on: |
|
||||
push: |
|
||||
branches: |
|
||||
- '*' |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/NetBSD.yml' |
|
||||
|
|
||||
pull_request: |
|
||||
branches: |
|
||||
- dev |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/NetBSD.yml' |
|
||||
|
|
||||
concurrency: |
|
||||
group: ${{ github.workflow }}-${{ github.ref }} |
|
||||
cancel-in-progress: true |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
jobs: |
|
||||
NetBSD: |
|
||||
strategy: |
|
||||
matrix: |
|
||||
include: |
|
||||
- TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
CA_ECDSA: "" |
|
||||
CA: "" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
#- TEST_ACME_Server: "ZeroSSL.com" |
|
||||
# CA_ECDSA: "ZeroSSL ECC Domain Secure Site CA" |
|
||||
# CA: "ZeroSSL RSA Domain Secure Site CA" |
|
||||
# CA_EMAIL: "githubtest@acme.sh" |
|
||||
# TEST_PREFERRED_CHAIN: "" |
|
||||
runs-on: macos-12 |
|
||||
env: |
|
||||
TEST_LOCAL: 1 |
|
||||
TEST_ACME_Server: ${{ matrix.TEST_ACME_Server }} |
|
||||
CA_ECDSA: ${{ matrix.CA_ECDSA }} |
|
||||
CA: ${{ matrix.CA }} |
|
||||
CA_EMAIL: ${{ matrix.CA_EMAIL }} |
|
||||
TEST_PREFERRED_CHAIN: ${{ matrix.TEST_PREFERRED_CHAIN }} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- uses: vmactions/cf-tunnel@v0 |
|
||||
id: tunnel |
|
||||
with: |
|
||||
protocol: http |
|
||||
port: 8080 |
|
||||
- name: Set envs |
|
||||
run: echo "TestingDomain=${{steps.tunnel.outputs.server}}" >> $GITHUB_ENV |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/ |
|
||||
- uses: vmactions/netbsd-vm@v0 |
|
||||
with: |
|
||||
envs: 'TEST_LOCAL TestingDomain TEST_ACME_Server CA_ECDSA CA CA_EMAIL TEST_PREFERRED_CHAIN' |
|
||||
nat: | |
|
||||
"8080": "80" |
|
||||
prepare: | |
|
||||
pkg_add curl socat |
|
||||
usesh: true |
|
||||
copyback: false |
|
||||
run: | |
|
||||
cd ../acmetest \ |
|
||||
&& ./letest.sh |
|
||||
|
|
||||
|
|
||||
@ -1,76 +0,0 @@ |
|||||
name: OpenBSD |
|
||||
on: |
|
||||
push: |
|
||||
branches: |
|
||||
- '*' |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/OpenBSD.yml' |
|
||||
|
|
||||
pull_request: |
|
||||
branches: |
|
||||
- dev |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/OpenBSD.yml' |
|
||||
|
|
||||
concurrency: |
|
||||
group: ${{ github.workflow }}-${{ github.ref }} |
|
||||
cancel-in-progress: true |
|
||||
|
|
||||
|
|
||||
|
|
||||
jobs: |
|
||||
OpenBSD: |
|
||||
strategy: |
|
||||
matrix: |
|
||||
include: |
|
||||
- TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
CA_ECDSA: "" |
|
||||
CA: "" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
- TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
CA_ECDSA: "" |
|
||||
CA: "" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
ACME_USE_WGET: 1 |
|
||||
#- TEST_ACME_Server: "ZeroSSL.com" |
|
||||
# CA_ECDSA: "ZeroSSL ECC Domain Secure Site CA" |
|
||||
# CA: "ZeroSSL RSA Domain Secure Site CA" |
|
||||
# CA_EMAIL: "githubtest@acme.sh" |
|
||||
# TEST_PREFERRED_CHAIN: "" |
|
||||
runs-on: macos-12 |
|
||||
env: |
|
||||
TEST_LOCAL: 1 |
|
||||
TEST_ACME_Server: ${{ matrix.TEST_ACME_Server }} |
|
||||
CA_ECDSA: ${{ matrix.CA_ECDSA }} |
|
||||
CA: ${{ matrix.CA }} |
|
||||
CA_EMAIL: ${{ matrix.CA_EMAIL }} |
|
||||
TEST_PREFERRED_CHAIN: ${{ matrix.TEST_PREFERRED_CHAIN }} |
|
||||
ACME_USE_WGET: ${{ matrix.ACME_USE_WGET }} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- uses: vmactions/cf-tunnel@v0 |
|
||||
id: tunnel |
|
||||
with: |
|
||||
protocol: http |
|
||||
port: 8080 |
|
||||
- name: Set envs |
|
||||
run: echo "TestingDomain=${{steps.tunnel.outputs.server}}" >> $GITHUB_ENV |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/ |
|
||||
- uses: vmactions/openbsd-vm@v0 |
|
||||
with: |
|
||||
envs: 'TEST_LOCAL TestingDomain TEST_ACME_Server CA_ECDSA CA CA_EMAIL TEST_PREFERRED_CHAIN ACME_USE_WGET' |
|
||||
nat: | |
|
||||
"8080": "80" |
|
||||
prepare: pkg_add socat curl wget libnghttp2 |
|
||||
usesh: true |
|
||||
copyback: false |
|
||||
run: | |
|
||||
cd ../acmetest \ |
|
||||
&& ./letest.sh |
|
||||
|
|
||||
|
|
||||
@ -1,72 +0,0 @@ |
|||||
name: PebbleStrict |
|
||||
on: |
|
||||
push: |
|
||||
branches: |
|
||||
- '*' |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/PebbleStrict.yml' |
|
||||
pull_request: |
|
||||
branches: |
|
||||
- dev |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/PebbleStrict.yml' |
|
||||
|
|
||||
|
|
||||
concurrency: |
|
||||
group: ${{ github.workflow }}-${{ github.ref }} |
|
||||
cancel-in-progress: true |
|
||||
|
|
||||
|
|
||||
|
|
||||
jobs: |
|
||||
PebbleStrict: |
|
||||
runs-on: ubuntu-latest |
|
||||
env: |
|
||||
TestingDomain: example.com |
|
||||
TestingAltDomains: www.example.com |
|
||||
TEST_ACME_Server: https://localhost:14000/dir |
|
||||
HTTPS_INSECURE: 1 |
|
||||
Le_HTTPPort: 5002 |
|
||||
TEST_LOCAL: 1 |
|
||||
TEST_CA: "Pebble Intermediate CA" |
|
||||
|
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Install tools |
|
||||
run: sudo apt-get install -y socat |
|
||||
- name: Run Pebble |
|
||||
run: cd .. && curl https://raw.githubusercontent.com/letsencrypt/pebble/master/docker-compose.yml >docker-compose.yml && docker-compose up -d |
|
||||
- name: Set up Pebble |
|
||||
run: curl --request POST --data '{"ip":"10.30.50.1"}' http://localhost:8055/set-default-ipv4 |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/ |
|
||||
- name: Run acmetest |
|
||||
run: cd ../acmetest && ./letest.sh |
|
||||
|
|
||||
PebbleStrict_IPCert: |
|
||||
runs-on: ubuntu-latest |
|
||||
env: |
|
||||
TestingDomain: 1.23.45.67 |
|
||||
TEST_ACME_Server: https://localhost:14000/dir |
|
||||
HTTPS_INSECURE: 1 |
|
||||
Le_HTTPPort: 5002 |
|
||||
Le_TLSPort: 5001 |
|
||||
TEST_LOCAL: 1 |
|
||||
TEST_CA: "Pebble Intermediate CA" |
|
||||
TEST_IPCERT: 1 |
|
||||
|
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Install tools |
|
||||
run: sudo apt-get install -y socat |
|
||||
- name: Run Pebble |
|
||||
run: | |
|
||||
docker run --rm -itd --name=pebble \ |
|
||||
-e PEBBLE_VA_ALWAYS_VALID=1 \ |
|
||||
-p 14000:14000 -p 15000:15000 letsencrypt/pebble:latest pebble -config /test/config/pebble-config.json -strict |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/ |
|
||||
- name: Run acmetest |
|
||||
run: cd ../acmetest && ./letest.sh |
|
||||
@ -1,74 +0,0 @@ |
|||||
name: Solaris |
|
||||
on: |
|
||||
push: |
|
||||
branches: |
|
||||
- '*' |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/Solaris.yml' |
|
||||
|
|
||||
pull_request: |
|
||||
branches: |
|
||||
- dev |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/Solaris.yml' |
|
||||
|
|
||||
|
|
||||
|
|
||||
concurrency: |
|
||||
group: ${{ github.workflow }}-${{ github.ref }} |
|
||||
cancel-in-progress: true |
|
||||
|
|
||||
jobs: |
|
||||
Solaris: |
|
||||
strategy: |
|
||||
matrix: |
|
||||
include: |
|
||||
- TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
CA_ECDSA: "" |
|
||||
CA: "" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
- TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
CA_ECDSA: "" |
|
||||
CA: "" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
ACME_USE_WGET: 1 |
|
||||
#- TEST_ACME_Server: "ZeroSSL.com" |
|
||||
# CA_ECDSA: "ZeroSSL ECC Domain Secure Site CA" |
|
||||
# CA: "ZeroSSL RSA Domain Secure Site CA" |
|
||||
# CA_EMAIL: "githubtest@acme.sh" |
|
||||
# TEST_PREFERRED_CHAIN: "" |
|
||||
runs-on: macos-12 |
|
||||
env: |
|
||||
TEST_LOCAL: 1 |
|
||||
TEST_ACME_Server: ${{ matrix.TEST_ACME_Server }} |
|
||||
CA_ECDSA: ${{ matrix.CA_ECDSA }} |
|
||||
CA: ${{ matrix.CA }} |
|
||||
CA_EMAIL: ${{ matrix.CA_EMAIL }} |
|
||||
TEST_PREFERRED_CHAIN: ${{ matrix.TEST_PREFERRED_CHAIN }} |
|
||||
ACME_USE_WGET: ${{ matrix.ACME_USE_WGET }} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- uses: vmactions/cf-tunnel@v0 |
|
||||
id: tunnel |
|
||||
with: |
|
||||
protocol: http |
|
||||
port: 8080 |
|
||||
- name: Set envs |
|
||||
run: echo "TestingDomain=${{steps.tunnel.outputs.server}}" >> $GITHUB_ENV |
|
||||
- name: Clone acmetest |
|
||||
run: cd .. && git clone --depth=1 https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/ |
|
||||
- uses: vmactions/solaris-vm@v0 |
|
||||
with: |
|
||||
envs: 'TEST_LOCAL TestingDomain TEST_ACME_Server CA_ECDSA CA CA_EMAIL TEST_PREFERRED_CHAIN ACME_USE_WGET' |
|
||||
copyback: "false" |
|
||||
nat: | |
|
||||
"8080": "80" |
|
||||
prepare: pkgutil -y -i socat curl wget |
|
||||
run: | |
|
||||
cd ../acmetest \ |
|
||||
&& ./letest.sh |
|
||||
|
|
||||
@ -1,103 +0,0 @@ |
|||||
name: Ubuntu |
|
||||
on: |
|
||||
push: |
|
||||
branches: |
|
||||
- '*' |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/Ubuntu.yml' |
|
||||
|
|
||||
pull_request: |
|
||||
branches: |
|
||||
- dev |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/Ubuntu.yml' |
|
||||
|
|
||||
concurrency: |
|
||||
group: ${{ github.workflow }}-${{ github.ref }} |
|
||||
cancel-in-progress: true |
|
||||
|
|
||||
|
|
||||
|
|
||||
jobs: |
|
||||
Ubuntu: |
|
||||
strategy: |
|
||||
matrix: |
|
||||
include: |
|
||||
- TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
CA_ECDSA: "" |
|
||||
CA: "" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
- TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
CA_ECDSA: "" |
|
||||
CA: "" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
ACME_USE_WGET: 1 |
|
||||
- TEST_ACME_Server: "ZeroSSL.com" |
|
||||
CA_ECDSA: "ZeroSSL ECC Domain Secure Site CA" |
|
||||
CA: "ZeroSSL RSA Domain Secure Site CA" |
|
||||
CA_EMAIL: "githubtest@acme.sh" |
|
||||
TEST_PREFERRED_CHAIN: "" |
|
||||
- TEST_ACME_Server: "https://localhost:9000/acme/acme/directory" |
|
||||
CA_ECDSA: "Smallstep Intermediate CA" |
|
||||
CA: "Smallstep Intermediate CA" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: "" |
|
||||
NO_REVOKE: 1 |
|
||||
- TEST_ACME_Server: "https://localhost:9000/acme/acme/directory" |
|
||||
CA_ECDSA: "Smallstep Intermediate CA" |
|
||||
CA: "Smallstep Intermediate CA" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: "" |
|
||||
NO_REVOKE: 1 |
|
||||
TEST_IPCERT: 1 |
|
||||
TestingDomain: "172.17.0.1" |
|
||||
|
|
||||
runs-on: ubuntu-latest |
|
||||
env: |
|
||||
TEST_LOCAL: 1 |
|
||||
TEST_ACME_Server: ${{ matrix.TEST_ACME_Server }} |
|
||||
CA_ECDSA: ${{ matrix.CA_ECDSA }} |
|
||||
CA: ${{ matrix.CA }} |
|
||||
CA_EMAIL: ${{ matrix.CA_EMAIL }} |
|
||||
NO_ECC_384: ${{ matrix.NO_ECC_384 }} |
|
||||
TEST_PREFERRED_CHAIN: ${{ matrix.TEST_PREFERRED_CHAIN }} |
|
||||
NO_REVOKE: ${{ matrix.NO_REVOKE }} |
|
||||
TEST_IPCERT: ${{ matrix.TEST_IPCERT }} |
|
||||
TestingDomain: ${{ matrix.TestingDomain }} |
|
||||
ACME_USE_WGET: ${{ matrix.ACME_USE_WGET }} |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Install tools |
|
||||
run: sudo apt-get install -y socat wget |
|
||||
- name: Start StepCA |
|
||||
if: ${{ matrix.TEST_ACME_Server=='https://localhost:9000/acme/acme/directory' }} |
|
||||
run: | |
|
||||
docker run --rm -d \ |
|
||||
-p 9000:9000 \ |
|
||||
-e "DOCKER_STEPCA_INIT_NAME=Smallstep" \ |
|
||||
-e "DOCKER_STEPCA_INIT_DNS_NAMES=localhost,$(hostname -f)" \ |
|
||||
-e "DOCKER_STEPCA_INIT_REMOTE_MANAGEMENT=true" \ |
|
||||
-e "DOCKER_STEPCA_INIT_PASSWORD=test" \ |
|
||||
--name stepca \ |
|
||||
smallstep/step-ca:0.23.1 |
|
||||
|
|
||||
sleep 5 |
|
||||
docker exec stepca bash -c "echo test >test" \ |
|
||||
&& docker exec stepca step ca provisioner add acme --type ACME --admin-subject step --admin-password-file=/home/step/test \ |
|
||||
&& docker exec stepca kill -1 1 \ |
|
||||
&& docker exec stepca cat /home/step/certs/root_ca.crt | sudo bash -c "cat - >>/etc/ssl/certs/ca-certificates.crt" |
|
||||
- name: Clone acmetest |
|
||||
run: | |
|
||||
cd .. \ |
|
||||
&& git clone --depth=1 https://github.com/acmesh-official/acmetest.git \ |
|
||||
&& cp -r acme.sh acmetest/ |
|
||||
- name: Run acmetest |
|
||||
run: | |
|
||||
cd ../acmetest \ |
|
||||
&& sudo --preserve-env ./letest.sh |
|
||||
|
|
||||
|
|
||||
@ -1,78 +0,0 @@ |
|||||
name: Windows |
|
||||
on: |
|
||||
push: |
|
||||
branches: |
|
||||
- '*' |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/Windows.yml' |
|
||||
|
|
||||
pull_request: |
|
||||
branches: |
|
||||
- dev |
|
||||
paths: |
|
||||
- '*.sh' |
|
||||
- '.github/workflows/Windows.yml' |
|
||||
|
|
||||
|
|
||||
concurrency: |
|
||||
group: ${{ github.workflow }}-${{ github.ref }} |
|
||||
cancel-in-progress: true |
|
||||
|
|
||||
|
|
||||
jobs: |
|
||||
Windows: |
|
||||
strategy: |
|
||||
matrix: |
|
||||
include: |
|
||||
- TEST_ACME_Server: "LetsEncrypt.org_test" |
|
||||
CA_ECDSA: "" |
|
||||
CA: "" |
|
||||
CA_EMAIL: "" |
|
||||
TEST_PREFERRED_CHAIN: (STAGING) Pretend Pear X1 |
|
||||
#- TEST_ACME_Server: "ZeroSSL.com" |
|
||||
# CA_ECDSA: "ZeroSSL ECC Domain Secure Site CA" |
|
||||
# CA: "ZeroSSL RSA Domain Secure Site CA" |
|
||||
# CA_EMAIL: "githubtest@acme.sh" |
|
||||
# TEST_PREFERRED_CHAIN: "" |
|
||||
runs-on: windows-latest |
|
||||
env: |
|
||||
TEST_ACME_Server: ${{ matrix.TEST_ACME_Server }} |
|
||||
CA_ECDSA: ${{ matrix.CA_ECDSA }} |
|
||||
CA: ${{ matrix.CA }} |
|
||||
CA_EMAIL: ${{ matrix.CA_EMAIL }} |
|
||||
TEST_LOCAL: 1 |
|
||||
#The 80 port is used by Windows server, we have to use a custom port, tunnel will also use this port. |
|
||||
Le_HTTPPort: 8888 |
|
||||
TEST_PREFERRED_CHAIN: ${{ matrix.TEST_PREFERRED_CHAIN }} |
|
||||
steps: |
|
||||
- name: Set git to use LF |
|
||||
run: | |
|
||||
git config --global core.autocrlf false |
|
||||
- uses: actions/checkout@v3 |
|
||||
- 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 https://mirrors.kernel.org/sourceware/cygwin/ -P socat,curl,cron,unzip,git,xxd |
|
||||
shell: cmd |
|
||||
- name: Set ENV |
|
||||
shell: cmd |
|
||||
run: | |
|
||||
echo PATH=C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin;%PATH% >> %GITHUB_ENV% |
|
||||
- name: Check ENV |
|
||||
shell: cmd |
|
||||
run: | |
|
||||
echo "PATH=%PATH%" |
|
||||
- name: Clone acmetest |
|
||||
shell: cmd |
|
||||
run: cd .. && git clone --depth=1 https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/ |
|
||||
- name: Run acmetest |
|
||||
shell: cmd |
|
||||
run: cd ../acmetest && bash.exe -c ./letest.sh |
|
||||
|
|
||||
|
|
||||
|
|
||||
@ -1,73 +0,0 @@ |
|||||
|
|
||||
name: Build DockerHub |
|
||||
on: |
|
||||
push: |
|
||||
branches: |
|
||||
- '*' |
|
||||
tags: |
|
||||
- '*' |
|
||||
paths: |
|
||||
- '**.sh' |
|
||||
- "Dockerfile" |
|
||||
- '.github/workflows/dockerhub.yml' |
|
||||
|
|
||||
concurrency: |
|
||||
group: ${{ github.workflow }}-${{ github.ref }} |
|
||||
cancel-in-progress: true |
|
||||
|
|
||||
|
|
||||
jobs: |
|
||||
CheckToken: |
|
||||
runs-on: ubuntu-latest |
|
||||
outputs: |
|
||||
hasToken: ${{ steps.step_one.outputs.hasToken }} |
|
||||
env: |
|
||||
DOCKER_PASSWORD : ${{ secrets.DOCKER_PASSWORD }} |
|
||||
steps: |
|
||||
- name: Set the value |
|
||||
id: step_one |
|
||||
run: | |
|
||||
if [ "$DOCKER_PASSWORD" ] ; then |
|
||||
echo "hasToken=true" >>$GITHUB_OUTPUT |
|
||||
else |
|
||||
echo "hasToken=false" >>$GITHUB_OUTPUT |
|
||||
fi |
|
||||
- name: Check the value |
|
||||
run: echo ${{ steps.step_one.outputs.hasToken }} |
|
||||
|
|
||||
build: |
|
||||
runs-on: ubuntu-latest |
|
||||
needs: CheckToken |
|
||||
if: "contains(needs.CheckToken.outputs.hasToken, 'true')" |
|
||||
steps: |
|
||||
- name: checkout code |
|
||||
uses: actions/checkout@v3 |
|
||||
- name: Set up QEMU |
|
||||
uses: docker/setup-qemu-action@v2 |
|
||||
- name: Set up Docker Buildx |
|
||||
uses: docker/setup-buildx-action@v2 |
|
||||
- name: login to docker hub |
|
||||
run: | |
|
||||
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin |
|
||||
- name: build and push the image |
|
||||
run: | |
|
||||
DOCKER_IMAGE=neilpang/acme.sh |
|
||||
|
|
||||
if [[ $GITHUB_REF == refs/tags/* ]]; then |
|
||||
DOCKER_IMAGE_TAG=${GITHUB_REF#refs/tags/} |
|
||||
fi |
|
||||
|
|
||||
if [[ $GITHUB_REF == refs/heads/* ]]; then |
|
||||
DOCKER_IMAGE_TAG=${GITHUB_REF#refs/heads/} |
|
||||
|
|
||||
if [[ $DOCKER_IMAGE_TAG == master ]]; then |
|
||||
DOCKER_IMAGE_TAG=latest |
|
||||
AUTO_UPGRADE=1 |
|
||||
fi |
|
||||
fi |
|
||||
|
|
||||
docker buildx build \ |
|
||||
--tag ${DOCKER_IMAGE}:${DOCKER_IMAGE_TAG} \ |
|
||||
--output "type=image,push=true" \ |
|
||||
--build-arg AUTO_UPGRADE=${AUTO_UPGRADE} \ |
|
||||
--platform linux/arm64/v8,linux/amd64,linux/arm/v6,linux/arm/v7,linux/386,linux/ppc64le,linux/s390x . |
|
||||
@ -1,19 +0,0 @@ |
|||||
name: "Update issues" |
|
||||
on: |
|
||||
issues: |
|
||||
types: [opened] |
|
||||
|
|
||||
jobs: |
|
||||
comment: |
|
||||
runs-on: ubuntu-latest |
|
||||
steps: |
|
||||
- uses: actions/github-script@v6 |
|
||||
with: |
|
||||
script: | |
|
||||
github.rest.issues.createComment({ |
|
||||
issue_number: context.issue.number, |
|
||||
owner: context.repo.owner, |
|
||||
repo: context.repo.repo, |
|
||||
body: "Please upgrade to the latest code and try again first. Maybe it's already fixed. ```acme.sh --upgrade``` If it's still not working, please provide the log with `--debug 2`, otherwise, nobody can help you." |
|
||||
|
|
||||
}) |
|
||||
@ -1,30 +0,0 @@ |
|||||
name: Check dns api |
|
||||
|
|
||||
on: |
|
||||
pull_request_target: |
|
||||
types: |
|
||||
- opened |
|
||||
branches: |
|
||||
- 'dev' |
|
||||
paths: |
|
||||
- 'dnsapi/*.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 [DNS API Dev Guide](../wiki/DNS-API-Dev-Guide) and [DNS-API-Test](../wiki/DNS-API-Test). |
|
||||
Then reply on this message, otherwise, your code will not be reviewed or merged. |
|
||||
We look forward to reviewing your Pull request shortly ✨ |
|
||||
` |
|
||||
}) |
|
||||
|
|
||||
@ -1,30 +0,0 @@ |
|||||
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 ✨ |
|
||||
` |
|
||||
}) |
|
||||
|
|
||||
@ -1,38 +0,0 @@ |
|||||
name: Shellcheck |
|
||||
on: |
|
||||
push: |
|
||||
branches: |
|
||||
- '*' |
|
||||
paths: |
|
||||
- '**.sh' |
|
||||
- '.github/workflows/shellcheck.yml' |
|
||||
pull_request: |
|
||||
branches: |
|
||||
- dev |
|
||||
paths: |
|
||||
- '**.sh' |
|
||||
- '.github/workflows/shellcheck.yml' |
|
||||
|
|
||||
concurrency: |
|
||||
group: ${{ github.workflow }}-${{ github.ref }} |
|
||||
cancel-in-progress: true |
|
||||
|
|
||||
|
|
||||
jobs: |
|
||||
ShellCheck: |
|
||||
runs-on: ubuntu-latest |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Install Shellcheck |
|
||||
run: sudo apt-get install -y shellcheck |
|
||||
- name: DoShellcheck |
|
||||
run: shellcheck -V && shellcheck -e SC2181 -e SC2089 **/*.sh && echo "shellcheck OK" |
|
||||
|
|
||||
shfmt: |
|
||||
runs-on: ubuntu-latest |
|
||||
steps: |
|
||||
- uses: actions/checkout@v3 |
|
||||
- name: Install shfmt |
|
||||
run: curl -sSL https://github.com/mvdan/sh/releases/download/v3.1.2/shfmt_v3.1.2_linux_amd64 -o ~/shfmt && chmod +x ~/shfmt |
|
||||
- name: shfmt |
|
||||
run: ~/shfmt -l -w -i 2 . ; git diff --exit-code && echo "shfmt OK" |
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue