Dans les actions GitHub, je voudrais évaluer une expression bash puis l'attribuer à une variable d'environnement -
- name: Tag image
env:
GITHUB_SHA_SHORT: ${{ $(echo $GITHUB_SHA | cut -c 1-6) }}
..do other things...
Mais cette tentative naïve a échoué. Selon les documents cela ne semble pas être pris en charge, mais une solution de contournement quelque peu propre conviendrait.
En utilisant set-env
dans une étape précédente fonctionne pour moi.
name: my workflow
on: Push
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set env
run: echo ::set-env name=GITHUB_SHA_SHORT::$(echo $GITHUB_SHA | cut -c 1-6)
- name: Test
run: echo $GITHUB_SHA_SHORT
Définissez une variable d'environnement:
set-env
::set-env name={name}::{value}
Crée ou met à jour une variable d'environnement pour toutes les actions s'exécutant ensuite dans un travail. L'action qui crée ou met à jour la variable d'environnement n'a pas accès à la nouvelle valeur, mais toutes les actions suivantes d'un travail y auront accès. Les variables d'environnement sont sensibles à la casse et vous pouvez inclure la ponctuation.
Il s'agit d'une autre façon de référencer la variable d'environnement dans les workflows.
- name: Test
run: echo ${{ env.GITHUB_SHA_SHORT }}