# reusable workflow name: .dco # TODO: hide reusable workflow from the UI. Tracked in https://github.com/community/community/discussions/12025 on: workflow_call: env: ALPINE_VERSION: 3.16 jobs: run: runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Dump context uses: actions/github-script@v7 with: script: | console.log(JSON.stringify(context, null, 2)); - name: Get base ref id: base-ref uses: actions/github-script@v7 with: result-encoding: string script: | if (/^refs\/pull\//.test(context.ref) && context.payload?.pull_request?.base?.ref != undefined) { return context.payload.pull_request.base.ref; } return context.ref.replace(/^refs\/heads\//g, ''); - name: Validate run: | docker run --rm \ -v "$(pwd):/workspace" \ -e VALIDATE_REPO \ -e VALIDATE_BRANCH \ alpine:${{ env.ALPINE_VERSION }} sh -c 'apk add --no-cache -q bash git openssh-client && git config --system --add safe.directory /workspace && cd /workspace && hack/validate/dco' env: VALIDATE_REPO: ${{ github.server_url }}/${{ github.repository }}.git VALIDATE_BRANCH: ${{ steps.base-ref.outputs.result }}