Docker compose CI for example #622
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Docker compose CI for example | |
on: | |
schedule: | |
- cron: "0 1 * * *" | |
push: | |
branches: [master] | |
paths-ignore: | |
- 'docs/**' | |
- '**/*.md' | |
pull_request: | |
branches: | |
- master | |
- 'release/apisix-2.15.**' | |
env: | |
APISIX_VERSION: "3.6.0" | |
jobs: | |
prepare: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set apisix version | |
id: apisix | |
run: | | |
branch=${{ github.base_ref }} | |
apisix_version=$( (echo ${branch} | grep -Po '\d*\.\d*\.\d*') || echo ${APISIX_VERSION} ) | |
echo "version=${apisix_version}" >> $GITHUB_OUTPUT | |
outputs: | |
apisix-version: ${{ steps.apisix.outputs.version }} | |
build: | |
runs-on: ubuntu-latest | |
needs: prepare | |
env: | |
APISIX_VERSION: ${{ needs.prepare.outputs.apisix-version }} | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
- centos | |
- debian | |
- redhat | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build image | |
run: | | |
make build-on-${{ matrix.platform }} | |
- name: use docker-compose | |
env: | |
APISIX_IMAGE_TAG: ${{ format('{0}-{1}', env.APISIX_VERSION, matrix.platform) }} | |
run: docker-compose -p docker-apisix -f example/docker-compose.yml up -d | |
- name: Test APISIX | |
run: | | |
sleep 30 | |
curl http://127.0.0.1:9180/apisix/admin/routes/1 \ | |
-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' | |
{ | |
"uri": "/get", | |
"upstream": { | |
"type": "roundrobin", | |
"nodes": { | |
"web1:80": 1 | |
} | |
} | |
}' | |
result_code=`curl -I -m 10 -o /dev/null -s -w %{http_code} http://127.0.0.1:9080/get` | |
if [[ $result_code -ne 200 ]];then | |
printf "result_code: %s\n" "$result_code" | |
exit 125 | |
fi |