name: Build and Push Docker Image on: release: types: [created] workflow_dispatch: inputs: tag: description: 'Tag Name' required: true jobs: build-and-push: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to Docker Hub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - name: Set tag name id: tag_name run: | if [ "${{ github.event_name }}" = "release" ]; then echo "::set-output name=tag::${GITHUB_REF#refs/tags/}" elif [ "${{ github.event_name }}" = "workflow_dispatch" ]; then echo "::set-output name=tag::${{ github.event.inputs.tag }}" fi - name: Build and push Docker image with Release tag uses: docker/build-push-action@v2 with: context: . file: ./Dockerfile push: true tags: | vinlic/qwen-free-api:${{ steps.tag_name.outputs.tag }} vinlic/qwen-free-api:latest platforms: linux/amd64,linux/arm64 build-args: TARGETPLATFORM=${{ matrix.platform }}