How to resolve warning "runner: cannot ack stage"

I managed to setup a drone server and a drone runner on Ubuntu. And to test the setup, I managed to run some piplines to build a node and a dotnet project successfully.

Now I am trying to add a windows based runner and run a pipeline there. I managed to resolve some issues but now I’m stuck. And I couldn’t find information what’s wrong or how to resolve it.

On the server the repo is activated and the activity feed shows every new commit but it is stuck in pending state forever.

I couldn’t find any relevant message in the server logs (with or without LOGS_DEBUG/TRACE set to true) but the log of the windows agent shows the following message as soon as I push a commit to the repo:

agent_1  | WARN[0050] runner: cannot ack stage    arch=amd64 build-id=22 machine=winhost1-r1 os=windows repo-id=17 stage-id=15

This is the config of my runner:

version: '3.6'

services:
  agent:
    image: drone/agent:windows-1803-amd64
    restart: always
    ports:
      - 3000:3000
    volumes:
      - type: npipe
        source: '\\.\pipe\docker_engine'
        target: '\\.\pipe\docker_engine'
    environment:
      - DRONE_RPC_PROTO=${DRONE_RPC_PROTO}
      - DRONE_RPC_HOST=${DRONE_RPC_HOST}
      - DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
      - DRONE_RUNNER_NAME=winhost1-r1
      - DRONE_RUNNER_CAPACITY=2
      # Logging
      - DRONE_LOGS_TEXT=true                      # logging - text instead of JSON
      - DRONE_LOGS_PRETTY=true                    # logging - i guess this intends the parameters 
      - DRONE_LOGS_COLOR=true
      - DRONE_LOGS_DEBUG=${DRONE_DEBUG}           
      - DRONE_LOGS_TRACE=${DRONE_DEBUG}           

and this is my pipeline:

---
kind: pipeline
type: docker      # tried with or without this
name: default

platform:
  os: windows
  arch: amd64         # tried with or without this
  version: 1803       # tried with or without this - see: https://docs.microsoft.com/de-de/windows/release-information/
  # kernel: 1803      # # tried with or without this - the logs rather would indicate this could be required instead of "version"?

workspace:
  base: 'C:/Daten/Projekte'
  path: Train2B

clone:
  disable: true

steps:
  - name: build
    image: train2b/train2b_build:latest
    workspace:
    commands:   # of course the commands are just to figure out the environment for the build script
      - pwd
      - ls
      - 'ls env:'

Now I’m wondering:

  • What does the warning runner: cannot ack stage indicate?
  • Is the type or the platform filtering the cause of the issue?
  • Or should I look somewhere else?
  • I guess, as the warning is shown in the runner’s log, it’s not a connection issue? And the problem is not on the drone server, right?
  • Maybe some hints on the meaning of some error messages could even edhance the good post in the faq.

Any help would be greatly appreciated.

warning: runner cannot ack stage does not necessarily indicate a problem. I could go into a deeper explanation but the point is moot since this log entry does not exist in more recent versions of Drone.

It looks like you are using the drone/agent image, which is deprecated. To install the latest stable version see https://docs.drone.io/runner/docker/installation/windows/