可以在github工作流程内运行脚本功能

发布于 2025-02-12 14:40:29 字数 2570 浏览 0 评论 0原文

I am running this particular workflow ----------------

    - name: Generating Release
      run: |
          echo '#!/bin/sh
            set -e

            do_hash() {
                HASH_NAME=$1
                HASH_CMD=$2
                echo "${HASH_NAME}:"
                for f in $(find -type f); do
                    f=$(echo $f | cut -c3-) # remove ./ prefix
                    if [ "$f" = "Release" ]; then
                        continue
                    fi
                    echo " $(${HASH_CMD} ${f}  | cut -d" " -f1) $(wc -c $f)"
                done
            }

            cat << EOF
            Origin: Example Repository
            Label: Example
            Suite: stable
            Codename: stable
            Version: 1.0
            Architectures: amd64 arm64 arm7
            Components: main
            Description: An example software repository
            Date: $(date -Ru)
            EOF
            do_hash "MD5Sum" "md5sum"
            do_hash "SHA1" "sha1sum"
            do_hash "SHA256" "sha256sum"
            ' > example/generate-release.sh

    - name: Run bash script
      shell: bash
      run: |
          chmod +x example/generate-release.sh
          example/generate-release.sh > example/apt-repo/dists/stable/Release

What I expect to see: (As it works fine locally)

Origin: Example Repository
Label: Example
Suite: stable
Codename: stable
Version: 1.0
Architectures: amd64 arm64 arm7
Components: main
Description: An example software repository
Date: Thu, 30 Jun 2022 10:15:35 +0000
MD5Sum:
 24ad62d0dd8b8db40835806e6c1cfba0 313 main/binary-all/Packages.gz
 3f262d7bae8d6c3ce62412c94feccac4 402 main/binary-all/Packages
SHA1:
 c33a36724286880a90048c31c33bd391175bc7c1 313 main/binary-all/Packages.gz
 1c227b077a8670f9af5ec49b8c915ad37d83955e 402 main/binary-all/Packages
SHA256:
 4915c7f84fe865a912a4179f1a212af678ebe6556580d2d86fce7e7d1eba190e 313 main/binary-all/Packages.gz
 3c367007ed6410bb17a36ceaf28350e4563e8f1f8f5d244213b6cc967eec7464 402 main/binary-all/Packages

Workflow does not give me any error - But, I am getting :

  Origin: Example Repository
  Label: Example
  Suite: stable
  Codename: stable
  Version: 1.0
  Architectures: amd64 arm64 arm7
  Components: main
  Description: An example software repository
  Date: Fri, 01 Jul 2022 12:52:14 +0000
  EOF
  do_hash "MD5Sum" "md5sum"
  do_hash "SHA1" "sha1sum"
  do_hash "SHA256" "sha256sum"

How我应该指示github工作流程使用do_hash作为函数吗?

I am running this particular workflow ----------------

    - name: Generating Release
      run: |
          echo '#!/bin/sh
            set -e

            do_hash() {
                HASH_NAME=$1
                HASH_CMD=$2
                echo "${HASH_NAME}:"
                for f in $(find -type f); do
                    f=$(echo $f | cut -c3-) # remove ./ prefix
                    if [ "$f" = "Release" ]; then
                        continue
                    fi
                    echo " $(${HASH_CMD} ${f}  | cut -d" " -f1) $(wc -c $f)"
                done
            }

            cat << EOF
            Origin: Example Repository
            Label: Example
            Suite: stable
            Codename: stable
            Version: 1.0
            Architectures: amd64 arm64 arm7
            Components: main
            Description: An example software repository
            Date: $(date -Ru)
            EOF
            do_hash "MD5Sum" "md5sum"
            do_hash "SHA1" "sha1sum"
            do_hash "SHA256" "sha256sum"
            ' > example/generate-release.sh

    - name: Run bash script
      shell: bash
      run: |
          chmod +x example/generate-release.sh
          example/generate-release.sh > example/apt-repo/dists/stable/Release

What I expect to see: (As it works fine locally)

Origin: Example Repository
Label: Example
Suite: stable
Codename: stable
Version: 1.0
Architectures: amd64 arm64 arm7
Components: main
Description: An example software repository
Date: Thu, 30 Jun 2022 10:15:35 +0000
MD5Sum:
 24ad62d0dd8b8db40835806e6c1cfba0 313 main/binary-all/Packages.gz
 3f262d7bae8d6c3ce62412c94feccac4 402 main/binary-all/Packages
SHA1:
 c33a36724286880a90048c31c33bd391175bc7c1 313 main/binary-all/Packages.gz
 1c227b077a8670f9af5ec49b8c915ad37d83955e 402 main/binary-all/Packages
SHA256:
 4915c7f84fe865a912a4179f1a212af678ebe6556580d2d86fce7e7d1eba190e 313 main/binary-all/Packages.gz
 3c367007ed6410bb17a36ceaf28350e4563e8f1f8f5d244213b6cc967eec7464 402 main/binary-all/Packages

Workflow does not give me any error - But, I am getting :

  Origin: Example Repository
  Label: Example
  Suite: stable
  Codename: stable
  Version: 1.0
  Architectures: amd64 arm64 arm7
  Components: main
  Description: An example software repository
  Date: Fri, 01 Jul 2022 12:52:14 +0000
  EOF
  do_hash "MD5Sum" "md5sum"
  do_hash "SHA1" "sha1sum"
  do_hash "SHA256" "sha256sum"

How should I instruct github workflow to use do_hash as a function ?!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文