title: Why does only one GitHub self-hosted runner accept the new job?
body: <p>I have three Ubuntu Pcs, which have their own GitHub self-hosted runner. Two of the runners (on PC 1, and PC 2) are labeled <em>test</em>, the third (PC 3) is labeled <em>production</em>. In addition, all runners are labelled <em>self-hosted</em></p>
  <p>On GitHub, I have three branches, <em>dev</em>, <em>test</em> and <em>production</em>. The goal is when I merge a pull request onto test or production branches, all the runners with the targeted label will pull the new version, then build and compose Docker image/ container.</p>
  <p>This procedure works on PC 1 and PC 3, merging on test and production branch respectively. However, the runner on PC 2 remains idle when PC 1 runs the &quot;test job&quot;, immediately after merging the test pull request.</p>
  <p>I have double checked that the runners on PC 1 and PC2 has the same labels. What am I doing wrong, or not understanding properly? Do I have to create a workflow file for each PC?</p>
  <p>Here is the workflow file <em>test.yml</em></p>
  <pre><code>name: Test
  
  on:
    # Triggers the workflow on push to test branch.
    push:
      branches: [ test ]
  
    # Allows you to run this workflow manually from the Actions tab
    workflow_dispatch:
  
    build:
      runs-on: [self-hosted, test]
  
        - uses: actions/checkout@v2
          with:
            ref: test
        
        # Pulling latest code from Github
        - name: Pull, build, compose up
          run: |
              docker build -f Dockerfile -t test-1 .
              docker-compose up -d
  </code></pre>