GitHub Actions optional step depending on EVENT NAME

First and foremost, I am trying to run this

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
  release:
    types: [created, edited]

jobs:
  build:
    strategy:
      fail-fast: false
      matrix:
        platform: [macos-latest, ubuntu-latest, windows-latest]

    runs-on: ${{ matrix.platform }}
    steps:
      ...
      - name: Upload binaries to auto (Windows)
        if: matrix.platform == 'windows-latest' && env.GITHUB_EVENT_NAME != 'release'
        uses: svenstaro/upload-release-action@v2
        with:
          repo_token: ${{ secrets.GITHUB_TOKEN }}
          file: rep2recall-windows.tar
          overwrite: true
          tag: auto-${{ github.ref }}
          body: Auto-built for main branch pushes
      - name: Upload binaries to release (Windows)
        if: matrix.platform == 'windows-latest' && env.GITHUB_EVENT_NAME == 'release'
        uses: svenstaro/upload-release-action@v2
        with:
          repo_token: ${{ secrets.GITHUB_TOKEN }}
          file: rep2recall-windows.tar
          overwrite: true
          tag: ${{ github.ref }}
          body: Auto-built for main branch pushes

However, it does not check for EVENT NAME. So I make a little check.

jobs:
  build:
    strategy:
      fail-fast: false
      matrix:
        platform: [macos-latest, ubuntu-latest, windows-latest]

    runs-on: ${{ matrix.platform }}
    steps:
      - name: echo env
        run: |
          echo "${{ toJSON(env) }}"
          echo "${{ env.CI }}"
          echo "${{ env.GITHUB_WORKFLOW }}"
          echo "${{ env.GITHUB_EVENT_NAME }}"
          echo "${{ env.GITHUB_EVENT_PATH }}"
          echo "${{ toJSON(github.event) }}"
          false

Every env var appear to be empty. No defaults. No nothing.

github.event is a very complex object; and I cannot differentiate PUSH from PR and RELEASE. I cannot get simply EVENT_NAME.