Skip to main content

Command Palette

Search for a command to run...

Debug Github workflows

Published
3 min read

When I started with Github workflows, it wasn't easy to wrap my head around the filesystem of the VM and all the environment variables set. So I started with small debug logs and ended with a copy/pasteable workflow which logs everything available.

Snippet Log workspace filesystem as Step:

- name: Log workspace filesystem
  run: |
    echo
    echo **root folder:**
    ls -al /
    echo
    echo **GITHUB_WORKSPACE value:**
    echo $GITHUB_WORKSPACE
    echo
    echo **workspace folder:**
    ls -al $GITHUB_WORKSPACE

Snippet Log env-variables as Step:

- name: Log env-variables
  run: |
    echo
    echo **CI:** $CI
    echo
    echo **GITHUB_WORKFLOW:** $GITHUB_WORKFLOW
    echo
    echo **GITHUB_RUN_ID:** $GITHUB_RUN_ID
    echo
    echo **GITHUB_RUN_NUMBER:** $GITHUB_RUN_NUMBER
    echo
    echo **GITHUB_ACTION:** $GITHUB_ACTION
    echo
    echo **GITHUB_ACTIONS:** $GITHUB_ACTIONS
    echo
    echo **GITHUB_ACTOR:** $GITHUB_ACTOR
    echo
    echo **GITHUB_REPOSITORY:** $GITHUB_REPOSITORY
    echo
    echo **GITHUB_EVENT_NAME:** $GITHUB_EVENT_NAME
    echo
    echo **GITHUB_EVENT_PATH:** $GITHUB_EVENT_PATH
    echo
    echo **GITHUB_WORKSPACE:** $GITHUB_WORKSPACE
    echo
    echo **GITHUB_SHA:** $GITHUB_SHA
    echo
    echo **GITHUB_REF:** $GITHUB_REF
    echo
    echo **GITHUB_HEAD_REF:** $GITHUB_HEAD_REF
    echo
    echo **GITHUB_BASE_REF:** $GITHUB_BASE_REF
    echo
    echo **GITHUB_SERVER_URL:** $GITHUB_SERVER_URL
    echo
    echo **GITHUB_API_URL:** $GITHUB_API_URL
    echo
    echo **GITHUB_GRAPHQL_URL:** $GITHUB_GRAPHQL_URL

Workflow with Log workspace filesystem and Log env-variables:

# This is a workflow help to debug issues whith actions setup

name: Debug

# Controls when the action will run. 
on:
  # The workflow should be trigger intentionally only
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v2

      - name: Log workspace filesystem
        run: |
          echo
          echo **root folder:**
          ls -al /
          echo
          echo **GITHUB_WORKSPACE value:**
          echo $GITHUB_WORKSPACE
          echo
          echo **workspace folder:**
          ls -al $GITHUB_WORKSPACE

      - name: Log env-variables
        run: |
          echo
          echo **CI:** $CI
          echo
          echo **GITHUB_WORKFLOW:** $GITHUB_WORKFLOW
          echo
          echo **GITHUB_RUN_ID:** $GITHUB_RUN_ID
          echo
          echo **GITHUB_RUN_NUMBER:** $GITHUB_RUN_NUMBER
          echo
          echo **GITHUB_ACTION:** $GITHUB_ACTION
          echo
          echo **GITHUB_ACTIONS:** $GITHUB_ACTIONS
          echo
          echo **GITHUB_ACTOR:** $GITHUB_ACTOR
          echo
          echo **GITHUB_REPOSITORY:** $GITHUB_REPOSITORY
          echo
          echo **GITHUB_EVENT_NAME:** $GITHUB_EVENT_NAME
          echo
          echo **GITHUB_EVENT_PATH:** $GITHUB_EVENT_PATH
          echo
          echo **GITHUB_WORKSPACE:** $GITHUB_WORKSPACE
          echo
          echo **GITHUB_SHA:** $GITHUB_SHA
          echo
          echo **GITHUB_REF:** $GITHUB_REF
          echo
          echo **GITHUB_HEAD_REF:** $GITHUB_HEAD_REF
          echo
          echo **GITHUB_BASE_REF:** $GITHUB_BASE_REF
          echo
          echo **GITHUB_SERVER_URL:** $GITHUB_SERVER_URL
          echo
          echo **GITHUB_API_URL:** $GITHUB_API_URL
          echo
          echo **GITHUB_GRAPHQL_URL:** $GITHUB_GRAPHQL_URL
Debug Github workflows