diff --git a/.github/workflows/witness.yml b/.github/workflows/witness.yml index 44bb5ca..ec978e7 100644 --- a/.github/workflows/witness.yml +++ b/.github/workflows/witness.yml @@ -13,80 +13,89 @@ # limitations under the License. on: - workflow_call: - inputs: - pull_request: - required: true - type: boolean - artifact-download: - required: false - type: string - artifact-upload-name: - required: false - type: string - artifact-upload-path: - required: false - type: string - pre-command: - required: false - type: string - pre-command-attestations: - default: "environment git github" - required: false - type: string - command: - required: true - type: string - step: - required: true - type: string - attestations: - required: true - type: string - archivista-server: - default: "https://archivista.testifysec.io" - required: false - type: string - + workflow_call: + inputs: + pull_request: + required: true + type: boolean + artifact-download: + required: false + type: string + artifact-upload-name: + required: false + type: string + artifact-upload-path: + required: false + type: string + pre-command: + required: false + type: string + pre-command-attestations: + default: 'environment git github' + required: false + type: string + command: + required: true + type: string + step: + required: true + type: string + attestations: + required: true + type: string + archivista-server: + default: 'https://archivista.testifysec.io' + required: false + type: string + workingdir: + required: false + type: string + jobs: - witness: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 - with: - go-version: 1.21.x + witness: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 + with: + go-version: 1.21.x - - if: ${{ inputs.artifact-download != '' }} - uses: actions/download-artifact@6b208ae046db98c579e8a3aa621ab581ff575935 # v4.1.1 - with: - name: ${{ inputs.artifact-download }} - path: /tmp + - if: ${{ inputs.artifact-download != '' }} + uses: actions/download-artifact@6b208ae046db98c579e8a3aa621ab581ff575935 # v4.1.1 + with: + name: ${{ inputs.artifact-download }} + path: /tmp - - if: ${{ inputs.pre-command != '' && inputs.pull_request == false }} - uses: testifysec/witness-run-action@79320a907f611f2fb40ced8e13c66af988b2d9db # v0.2.2 - with: - version: 0.6.0 - archivista-server: ${{ inputs.archivista-server }} - step: pre-${{ inputs.step }} - attestations: ${{ inputs.pre-command-attestations }} - command: /bin/sh -c "${{ inputs.pre-command }}" - - if: ${{ inputs.pre-command != '' && inputs.pull_request == true }} - run: ${{ inputs.pre-command }} + - if: ${{ inputs.pre-command != '' && inputs.pull_request == false }} + uses: testifysec/witness-run-action@79320a907f611f2fb40ced8e13c66af988b2d9db # v0.2.2 + with: + version: 0.6.0 + archivista-server: ${{ inputs.archivista-server }} + step: pre-${{ inputs.step }} + attestations: ${{ inputs.pre-command-attestations }} + command: /bin/sh -c "${{ inputs.pre-command }}" + - if: ${{ inputs.pre-command != '' && inputs.pull_request == true && inputs.workingdir != '' }} + working-directory: ${{ inputs.workingdir }} + run: ${{ inputs.pre-command }} + - if: ${{ inputs.pre-command != '' && inputs.pull_request == true && inputs.workingdir == '' }} + run: ${{ inputs.pre-command }} - - if: ${{ inputs.pull_request == false }} - uses: testifysec/witness-run-action@79320a907f611f2fb40ced8e13c66af988b2d9db # v0.2.2 - with: - version: 0.6.0 - archivista-server: ${{ inputs.archivista-server }} - step: ${{ inputs.step }} - attestations: ${{ inputs.attestations }} - command: /bin/sh -c "${{ inputs.command }}" - - if: ${{ inputs.pull_request == true }} - run: ${{ inputs.command }} + - if: ${{ inputs.pull_request == false }} + uses: testifysec/witness-run-action@79320a907f611f2fb40ced8e13c66af988b2d9db # v0.2.2 + with: + version: 0.6.0 + archivista-server: ${{ inputs.archivista-server }} + step: ${{ inputs.step }} + attestations: ${{ inputs.attestations }} + command: /bin/sh -c "${{ inputs.command }}" + - if: ${{ inputs.pull_request == true && inputs.workingdir != '' }} + working-directory: ${{ inputs.workingdir }} + run: ${{ inputs.command }} + - if: ${{ inputs.pull_request == true && inputs.workingdir == '' }} + run: ${{ inputs.command }} - - if: ${{ inputs.artifact-upload-path != '' && inputs.artifact-upload-name != ''}} - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0 - with: - name: ${{ inputs.artifact-upload-name }} - path: ${{ inputs.artifact-upload-path }} + - if: ${{ inputs.artifact-upload-path != '' && inputs.artifact-upload-name != ''}} + uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0 + with: + name: ${{ inputs.artifact-upload-name }} + path: ${{ inputs.artifact-upload-path }}