如何使用GitHub操作替换表达式中的字符串 [英] How to replace string in expression with GitHub actions
本文介绍了如何使用GitHub操作替换表达式中的字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的操作,返回的$TOXENV
看起来像这样py3.6-django2.2
我希望$TOXENV
看起来像这样py36-django22
有没有什么替代/替换函数可以用来替换.
char?
name: CI
on:
workflow_dispatch:
branches: [ master, actions ]
jobs:
demo:
runs-on: ubuntu-latest
strategy:
matrix:
python: [3.6, 3.7, 3.8, 3.9]
django: ['2.2', '3.0']
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
name: Set up Python ${{ matrix.python }} ${{ matrix.django }}
with:
python-version: ${{ matrix.python }}
- name: python version
env:
TOXENV: "py${{ matrix.python }}-django${{ matrix.django }}"
run:
echo $TOXENV
推荐答案
我认为在定义TOXENV值时,在步骤的env
指令中没有一种简单的方法来实现这一点。env
指令接受表达式,但functions that can be used in expressions受到限制,不能替换任意字符。我能找到的最接近的是format()
,但不幸的是,这需要在目标字符串中使用带编号的大括号,这不适合您的情况。
相反,或许您可以使用sed
,然后add it to the environment在run
指令中设置TOXENV的值:
- name: python version
run:
RAW_TOXENV="py${{ matrix.python }}-django${{ matrix.django }}"
TOXENV=$(echo $RAW_TOXENV | sed 's/.//')
echo "TOXENV=$TOXENV" >> $GITHUB_ENV
这篇关于如何使用GitHub操作替换表达式中的字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文