From bd67bfa8815808a496557497ed5cb12d09667a2f Mon Sep 17 00:00:00 2001 From: GammaGames Date: Mon, 25 Nov 2024 11:47:21 -0700 Subject: [PATCH] remove stderr, stdout works --- .github/workflows/main.yml | 45 ++++++++++++++++++++++++++ .github/workflows/stable.yml | 62 ------------------------------------ action.yml | 6 ---- entrypoint.sh | 23 +++++-------- testdata/test.sh | 1 + 5 files changed, 54 insertions(+), 83 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6c35463..0e0fa68 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -523,3 +523,48 @@ jobs: command_timeout: 30s script: | whoami + + testing-capturing-output: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: create new ssh server + run: | + docker run -d \ + --name=openssh-server \ + --hostname=openssh-server \ + -p 2222:2222 \ + -e SUDO_ACCESS=false \ + -e PASSWORD_ACCESS=true \ + -e USER_PASSWORD=password \ + -e USER_NAME=linuxserver.io \ + --restart unless-stopped \ + lscr.io/linuxserver/openssh-server:latest + docker exec openssh-server sh -c "hostname -i" > ip.txt + echo "REMOTE_HOST<> $GITHUB_ENV + cat ip.txt >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV + echo "======= container ip address =========" + cat ip.txt + echo "======================================" + sleep 2 + + - id: stdout + name: ssh command with stdout + uses: ./ + with: + host: ${{ env.REMOTE_HOST }} + username: linuxserver.io + password: password + port: 2222 + capture_stdout: 'true' + script: | + #!/usr/bin/env bash + set -e + whoami + + - name: check stdout + run: | + echo "stdout: ${{ steps.stdout.outputs.stdout }}" diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml index 43f47b9..9209737 100644 --- a/.github/workflows/stable.yml +++ b/.github/workflows/stable.yml @@ -484,65 +484,3 @@ jobs: script: | whoami && echo 'hello world' && touch todo.txt sudo whoami - - testing-with-stdouterr: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: create new ssh server - run: | - docker run -d \ - --name=openssh-server \ - --hostname=openssh-server \ - -p 2222:2222 \ - -e SUDO_ACCESS=false \ - -e PASSWORD_ACCESS=true \ - -e USER_PASSWORD=password \ - -e USER_NAME=linuxserver.io \ - --restart unless-stopped \ - lscr.io/linuxserver/openssh-server:latest - docker exec openssh-server sh -c "hostname -i" > ip.txt - echo "REMOTE_HOST<> $GITHUB_ENV - cat ip.txt >> $GITHUB_ENV - echo "EOF" >> $GITHUB_ENV - echo "======= container ip address =========" - cat ip.txt - echo "======================================" - sleep 2 - - - name: ssh command with stdout - uses: appleboy/ssh-action@v1.2.0 - with: - host: ${{ env.REMOTE_HOST }} - username: linuxserver.io - password: password - port: 2222 - capture_stdout: 'true' - script: | - #!/usr/bin/env bash - set -e - whoami - - - name: check stdout - run: | - echo "stdout: ${{ steps.ssh-command-with-stdout.outputs.stdout }}" - - - name: ssh command with stderr - uses: appleboy/ssh-action@v1.2.0 - continue-on-error: true - with: - host: ${{ env.REMOTE_HOST }} - username: linuxserver.io - password: password - port: 2222 - capture_stderr: 'true' - script: | - #!/usr/bin/env bash - set -e - ls /root - - - name: check stderr - run: | - echo "stderr: ${{ steps.ssh-command-with-stderr.outputs.stderr }}" diff --git a/action.yml b/action.yml index 2811a42..2f8594c 100644 --- a/action.yml +++ b/action.yml @@ -80,15 +80,10 @@ inputs: capture_stdout: description: "Capture the stdout of the commands." default: "false" - capture_stderr: - description: "Capture the stderr of the commands." - default: "false" outputs: stdout: description: 'Standard output of the executed commands.' - stderr: - description: 'Standard error of the executed commands.' runs: using: "composite" @@ -137,7 +132,6 @@ runs: INPUT_PROXY_CIPHER: ${{ inputs.proxy_cipher }} INPUT_SYNC: ${{ inputs.sync }} INPUT_CAPTURE_STDOUT: ${{ inputs.capture_stdout }} - INPUT_CAPTURE_STDERR: ${{ inputs.capture_stderr }} branding: icon: "terminal" diff --git a/entrypoint.sh b/entrypoint.sh index 4545c53..62c1d76 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -68,27 +68,20 @@ chmod +x ${TARGET} echo "======= CLI Version =======" sh -c "${TARGET} --version" # print version echo "===========================" -if [ "$INPUT_CAPTURE_STDOUT" == 'true' ] || [ "$INPUT_CAPTURE_STDERR" == 'true' ]; then +if [[ "$INPUT_CAPTURE_STDOUT" == 'true' ]]; then _stdout=/dev/stdout - _stderr=/dev/stderr - if [ "$INPUT_CAPTURE_STDOUT" == 'true' ]; then - _stdout=/tmp/outFile - fi - if [ "$INPUT_CAPTURE_STDERR" == 'true' ]; then - _stderr=/tmp/errFile + if [[ "$INPUT_CAPTURE_STDOUT" == 'true' ]]; then + _stdout=/tmp/_stdout fi { sh -c "${TARGET} $*" # run the command - } 2> $_stderr | tee $_stdout + } | tee $_stdout - if [ "$INPUT_CAPTURE_STDOUT" == 'true' ]; then - stdout=$(cat $_stdout) - echo "stdout=${stdout//$'\n'/\\n}" >> $GITHUB_OUTPUT - fi - if [ "$INPUT_CAPTURE_STDERR" == 'true' ]; then - stderr=$(cat $_stderr) - echo "stderr=${stderr//$'\n'/\\n}" >> $GITHUB_OUTPUT + if [[ "$INPUT_CAPTURE_STDOUT" == 'true' ]]; then + echo 'stdout<> $GITHUB_OUTPUT + cat $_stdout >> $GITHUB_OUTPUT + echo 'EOF' >> $GITHUB_OUTPUT fi else sh -c "${TARGET} $*" # run the command diff --git a/testdata/test.sh b/testdata/test.sh index a229cae..def0e24 100644 --- a/testdata/test.sh +++ b/testdata/test.sh @@ -1,3 +1,4 @@ #!/usr/bin/env bash set -e +echo "Hello, World!" whoami