|
65 | 65 | - name: install dokku maintenance plugin |
66 | 66 | run: sudo dokku plugin:install https://github.com/dokku/dokku-maintenance.git maintenance |
67 | 67 | - name: run integration tests (shard ${{ matrix.shard }} of 4) |
68 | | - run: sudo DOKKU_TEST_SHARD=${{ matrix.shard }} DOKKU_TEST_SHARDS=4 go test -v -count=1 -timeout 20m -run TestIntegration ./tasks/ |
| 68 | + run: sudo DOKKU_TEST_SHARD=${{ matrix.shard }} DOKKU_TEST_SHARDS=4 go test -v -count=1 -timeout 20m -run TestIntegration -skip TestIntegrationTaskExamples ./tasks/ |
| 69 | + |
| 70 | + task-examples-test: |
| 71 | + name: task-examples-test |
| 72 | + runs-on: ubuntu-24.04 |
| 73 | + strategy: |
| 74 | + fail-fast: false |
| 75 | + matrix: |
| 76 | + shard: [1, 2, 3, 4] |
| 77 | + steps: |
| 78 | + - uses: actions/checkout@v7 |
| 79 | + - uses: actions/setup-go@v7 |
| 80 | + with: |
| 81 | + go-version-file: go.mod |
| 82 | + - name: enable docker legacy link support |
| 83 | + run: | |
| 84 | + sudo mkdir -p /etc/systemd/system/docker.service.d |
| 85 | + printf '[Service]\nEnvironment="DOCKER_KEEP_DEPRECATED_LEGACY_LINKS_ENV_VARS=1"\n' | sudo tee /etc/systemd/system/docker.service.d/legacy-links.conf |
| 86 | + sudo systemctl daemon-reload |
| 87 | + sudo systemctl restart docker |
| 88 | + - name: install dokku |
| 89 | + run: | |
| 90 | + sudo mkdir -p /etc/apt/keyrings |
| 91 | + curl -fsSL https://packagecloud.io/dokku/dokku/gpgkey | sudo gpg --dearmor -o /etc/apt/keyrings/dokku-archive-keyring.gpg |
| 92 | + echo "deb [signed-by=/etc/apt/keyrings/dokku-archive-keyring.gpg] https://packagecloud.io/dokku/dokku/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/dokku.list |
| 93 | + sudo apt-get update -qq |
| 94 | + sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get install -qq -y dokku=0.38.22 |
| 95 | + sudo dokku plugin:install-dependencies --core |
| 96 | + - name: install dokku redis plugin |
| 97 | + run: sudo dokku plugin:install https://github.com/dokku/dokku-redis.git redis |
| 98 | + - name: install dokku http-auth plugin |
| 99 | + run: sudo dokku plugin:install https://github.com/dokku/dokku-http-auth.git http-auth |
| 100 | + - name: install dokku global-cert plugin |
| 101 | + run: sudo dokku plugin:install https://github.com/dokku-community/dokku-global-cert.git global-cert |
| 102 | + - name: install dokku letsencrypt plugin |
| 103 | + run: sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git --committish 0.25.0 letsencrypt |
| 104 | + - name: install dokku acl plugin |
| 105 | + run: sudo dokku plugin:install https://github.com/dokku-community/dokku-acl.git acl |
| 106 | + - name: install dokku maintenance plugin |
| 107 | + run: sudo dokku plugin:install https://github.com/dokku/dokku-maintenance.git maintenance |
| 108 | + - name: apply documented task examples (shard ${{ matrix.shard }} of 4) |
| 109 | + run: sudo DOKKU_TEST_SHARD=${{ matrix.shard }} DOKKU_TEST_SHARDS=4 go test -v -count=1 -timeout 30m -run '^TestIntegrationTaskExamples$' ./tasks/ |
69 | 110 |
|
70 | 111 | scheduler-k3s-test: |
71 | 112 | name: scheduler-k3s-test |
@@ -93,6 +134,34 @@ jobs: |
93 | 134 | run: sudo dokku scheduler-k3s:initialize --server-ip 127.0.0.1 |
94 | 135 | - name: run scheduler-k3s integration tests |
95 | 136 | run: sudo DOKKU_TEST_SCHEDULER_K3S=1 go test -v -count=1 -timeout 30m -run '^TestIntegrationSchedulerK3s' ./tasks/ |
| 137 | + - name: apply scheduler-k3s documented examples |
| 138 | + run: sudo DOKKU_TEST_SCHEDULER_K3S=1 go test -v -count=1 -timeout 30m -run '^TestIntegrationTaskExamples/dokku_scheduler_k3s' ./tasks/ |
| 139 | + |
| 140 | + letsencrypt-example-test: |
| 141 | + name: letsencrypt-example-test |
| 142 | + runs-on: ubuntu-24.04 |
| 143 | + steps: |
| 144 | + - uses: actions/checkout@v7 |
| 145 | + - uses: actions/setup-go@v7 |
| 146 | + with: |
| 147 | + go-version-file: go.mod |
| 148 | + - name: install dokku |
| 149 | + run: | |
| 150 | + sudo mkdir -p /etc/apt/keyrings |
| 151 | + curl -fsSL https://packagecloud.io/dokku/dokku/gpgkey | sudo gpg --dearmor -o /etc/apt/keyrings/dokku-archive-keyring.gpg |
| 152 | + echo "deb [signed-by=/etc/apt/keyrings/dokku-archive-keyring.gpg] https://packagecloud.io/dokku/dokku/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/dokku.list |
| 153 | + sudo apt-get update -qq |
| 154 | + sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get install -qq -y dokku=0.38.22 |
| 155 | + sudo dokku plugin:install-dependencies --core |
| 156 | + - name: stand up the pebble ACME server |
| 157 | + run: | |
| 158 | + git clone --depth 1 https://github.com/dokku/dokku-letsencrypt.git /tmp/dokku-letsencrypt |
| 159 | + docker build -t letest-lego:latest /tmp/dokku-letsencrypt/tests/lego |
| 160 | + mkdir -p /tmp/letest-host |
| 161 | + LETEST_HOST_DIR=/tmp/letest-host docker compose -f /tmp/dokku-letsencrypt/tests/docker-compose.yml up -d --wait |
| 162 | + PLUGIN_SRC=/tmp/dokku-letsencrypt bash /tmp/dokku-letsencrypt/tests/setup-native.sh |
| 163 | + - name: apply the letsencrypt documented example |
| 164 | + run: sudo DOKKU_TEST_LETSENCRYPT=1 go test -v -count=1 -timeout 20m -run '^TestIntegrationTaskExamples/dokku_letsencrypt$' ./tasks/ |
96 | 165 |
|
97 | 166 | bats-test: |
98 | 167 | name: bats-test |
|
0 commit comments