如何在 github 工作流程中创建文件夹?

How to create a folder in github workflow?

我正在尝试在 github 工作流程中将一个文件夹的内容复制到另一个文件夹中。我知道工作流可以创建新的文件夹和文件,因为在 React 项目上调用构建会创建项目中不存在的构建,但它会在后续使用 mkdir 的 运行 命令中引发错误。

错误: mkdir: cannot create directory ‘myNewFolder’: No such file or directory

我的问题是如何实现其中之一

> mkdir myNewFolder && cp -R myOldFolder myNewFolder

> cp -R myOldFolder myNewFolder

在 repo/workflow 工作目录中不存在 myNewFolder 时工作?

编辑(请求的工作流文件)

name: Test Server Build and Deploy (CD)

on:
  push:
    branches:
        - cd_branch

jobs:
  deploy:
    runs-on: ubuntu-latest
    env: 
        MY_APP_ENV_VARIABLE:  ${{ secrets.ENV_VARIABLE}}

steps:
        - uses: actions/checkout@v2
        - uses: actions/setup-node@v2
          with:
              node-version: '14.15.4'
        - run: npm cache clean --force
        - run: npm run copy-script

我的 copy-script 是:

mkdir existingFolder/newFolder1/newFolder2 && \
    cp -R oldfolder/sub existingFolder/newFolder1/newFolder2

当创建一个嵌套在另一个文件夹中的新文件夹时,在 mkdir 之后添加 -p (parants) 选项以告诉 Linux 将所有目录都列在路径中。

我试过了,它对我有用:

name: SO-023 Create folder

on:
  push:
    branches: [ main ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Create folder
        run: |
          mkdir -p myNewFolder/myNewSubFolder && cp -R dist myNewFolder/myNewSubFolder
          ls myNewFolder/MyNewSubFolder