Header Ads Widget

Ticker

6/recent/ticker-posts

Obtener el nombre de la rama actual en acciones de GitHub con GITHUB_REF y Bash

 Supongamos que necesita obtener el nombre de la rama actual en su flujo de trabajo de Acciones de GitHub.

Puede usar la GITHUB_REFvariable que contiene una ruta completa como, refs/heads/feature-branch-1pero solo necesita el último segmento de pah, es decir feature-branch-1.

Debe agregar un paso para extraer el nombre de la rama de la $GITHUB_REFvariable y convertirlo en el resultado del paso de la siguiente manera:

- name: Extract branch name
  shell: bash
  run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
  id: extract_branch

Tenga en cuenta que si está utilizando un activador de solicitud de extracción para ejecutar su acción de GitHub, la GITHUB_REFvariable contendrá algo refs/pull/421/mergeasí si intenta git push a ese nombre, lo más probable es que falle.

Como solución, puede usar referencias en el contexto de GitHub en su YAML, por ejemplo $.

También puede usar la acción nelonoel / branch-name de la siguiente manera:

name: build
on: push

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - run: npm ci
    - uses: nelonoel/branch-name@v1
    # Use branch name for whatever purpose
    - run: echo ${BRANCH_NAME}

Este es otro ejemplo de un flujo de trabajo para pushpull_requestdesencadenadores:

name: getBranchName
on: [pull_request, push]

jobs:
  which_branch:
    runs-on: ubuntu-latest
    steps:
      # extract branch name
      - name: Extract branch name
        if: github.event_name != 'pull_request'
        shell: bash
        run: echo "::set-env name=BRANCH_NAME::$(echo ${GITHUB_REF#refs/heads/})"
        id: extract_branch

      # extract branch name on pull request
      - name: Print branch name
        if: github.event_name == 'pull_request'
        run: echo "::set-env name=BRANCH_NAME::$(echo ${GITHUB_HEAD_REF})"

      # print branch name
      - name: Get branch name
        run: echo 'The branch name is' $BRANCH_NAME

Publicar un comentario

0 Comentarios