name: Push apisix dashboard to Docker image on: push: branches: ['release/apisix-dashboard**'] jobs: build: strategy: fail-fast: false matrix: os: - centos - alpine name: build dashboard & test on ${{ matrix.os }} && push to docker hub runs-on: ubuntu-latest env: APISIX_DASHBOARD_VERSION: "3.0.1" # in semver steps: - name: Check out the repo uses: actions/checkout@v2 - name: Build and run run: | make build-dashboard-${{ matrix.os }} docker-compose -f ./compose/dashboard-compose.yaml up -d sleep 30 docker logs compose_dashboard_1 - name: check run: | wget https://raw.githubusercontent.com/apache/apisix-dashboard/master/api/test/shell/manager_smoking.sh chmod +x ./manager_smoking.sh sh manager_smoking.sh -s true - name: Tar Image run: | make save-dashboard-${{ matrix.os }}-tar - name: Upload Image uses: actions/upload-artifact@v2 with: path: ./package - 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 dashboard image to Docker Hub if: matrix.os == 'centos' run: | make push-multiarch-dashboard