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.2.1" 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