name: Push apisix to Docker image on: push: branches: ['release/apisix-**'] jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: platform: - centos - debian env: APISIX_DOCKER_TAG: 3.2.0-${{ matrix.platform }} steps: - name: Check out the repo uses: actions/checkout@v2 - name: Build and run run: | make build-on-${{ matrix.platform }} docker-compose -f ./compose/docker-compose-release.yaml up -d sleep 30 docker logs compose_apisix_1 - name: Test route run: | grep -C 3 '\[error\]' compose/apisix_log/error.log && exit 1 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": { "httpbin.org: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 - name: Login to Docker Hub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USER }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: push apisix:latest image to docker hub if: matrix.platform == 'debian' run: | make push-multiarch-on-latest - name: Push apisix:${{ matrix.os }} image to Docker Hub run: | make push-multiarch-on-${{ matrix.platform }}