[GitHub Actions]:删除文件和推送更改



嘿,我试图通过GitHub工作流删除目录的内容(该目录称为scss)并推送到单独的分支。我用actions-js/push@master来推动。然而,在此之前,我正在压缩一些其他文件。所以工作流看起来像这样:

  1. 压缩HTML、CSS和JS文件
  2. 删除文件夹scss及其内容
  3. 将所有内容推送到另一个分支

step1 &3都工作得很好,但是,scss文件夹仍然在那里。我的yaml文件看起来像这样:

name: Compress Website
...
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
env:
prepo: ${{github.repository}}
steps:
- uses: actions/checkout@v2
- name: Set up Minify Actions
uses: amireshoon/minifyAction@main
with:
repo: $prepo
- name: Minifying Codes
run: |
minifier.sh $prepo
================== THIS FAILS ================== 
- name: Removing unnecessary files
run: |
ls -la
rm -rf scss
ls -la
================================================ 
- name: Pushing to production branch
uses: actions-js/push@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
directory: github/workspace
branch: compressed-master
message: Minified css, js and html
author_name: MinifyAction[bot]
author_email: amireshoon-minifyAction@users.noreply.github.com
force: true

ls语句的输出显示文件夹已被删除,但当我查看推送的文件时,它仍然在那里。为什么第二步不起作用?

@torek和@joanis的注释为我指出了正确的方向,但问题不在于修改工作树。

虽然我确实只是在修改工作树,但是actions-js/push@master操作负责提交更改。因此,修改工作树实际上应该足以看到反映在我的新分支中的更改。但是,我传递了参数directory: github/workspace,用于在push之前切换目录的操作。

首先我不知道这个目录是从哪里来的(我复制了一个工作目录)。但是当查看最小化操作(amireshoon/minifyAction@main)的源代码时,情况变得更清楚了:

#!/bin/sh
# Creating workspace
mkdir github && cd github
git clone https://github.com/$1.git workspace
cd workspace
...

最小化操作通过再次克隆项目来创建该目录,并继续最小化该目录中的文件。因此,我在工作树中所做的所有更改都不会反映出来,因为推送是针对github/workspace中包含的不同本地存储库执行的。

所以要解决这个问题,你可以在目录中执行你的更改. 尽管我最终使用了另一个直接修改工作树的最小化操作。所以所有的更改都在同一个目录下进行,最后用actions-js/push@master推送,而不需要指定一个特殊的目录。

我的工作动作是这样的:

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
env:
prepo: ${{github.repository}}
steps:
- uses: actions/checkout@v2
- name: Removing unnecessary files
run: |
rm -r scss
ls -la
- name: minify css
uses: nizarmah/auto-minify@v2.1
with:
overwrite: true
directory: 'css'
- name: minify js
uses: nizarmah/auto-minify@v2.1
with:
overwrite: true
directory: 'js/custom'
- name: Pushing to production branch
uses: actions-js/push@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: compressed-master
message: Minified css, js and html
author_name: MinifyAction[bot]
author_email: amireshoon-minifyAction@users.noreply.github.com
force: true

对于一个非常愚蠢的错误,这是一个非常长的答案,但它希望它能在未来帮助到一些人。😅

相关内容

  • 没有找到相关文章

最新更新