diff --git a/.github/workflows/test_definitions.yml b/.github/workflows/test_definitions.yml index 3f60177c0..194afc637 100644 --- a/.github/workflows/test_definitions.yml +++ b/.github/workflows/test_definitions.yml @@ -38,14 +38,30 @@ on: required: false jobs: + metadata: + name: Extract metadata + runs-on: ubuntu-latest + permissions: + actions: read + outputs: + caller-sha: ${{ steps.workflows-ref.outputs.caller-sha }} + steps: + - name: Get workflow reference + id: workflows-ref + run: | + sha=$(curl -L -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{ secrets.gh-token }}" -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/repos/UBCSailbot/sailbot_workspace/actions/runs/${{ github.run_id }} | jq -r '.referenced_workflows[0] | .sha') + echo "caller-sha=$sha" >> $GITHUB_OUTPUT + colcon-test: runs-on: ubuntu-latest if: ${{ inputs.ros-ci }} + needs: [metadata] steps: - name: Checkout workspace uses: actions/checkout@v4 with: repository: UBCSailbot/sailbot_workspace + ref: ${{ needs.metadata.outputs.caller-sha }} - name: Checkout repositories uses: ./.github/actions/checkout/ @@ -66,11 +82,13 @@ jobs: name: ament_${{ matrix.linter }} runs-on: ubuntu-latest if: ${{ inputs.ros-ci }} + needs: [metadata] steps: - name: Checkout workspace uses: actions/checkout@v4 with: repository: UBCSailbot/sailbot_workspace + ref: ${{ needs.metadata.outputs.caller-sha }} - name: Checkout repositories uses: ./.github/actions/checkout/ @@ -86,11 +104,13 @@ jobs: clang-tidy: runs-on: ubuntu-latest if: inputs.clang-tidy + needs: [metadata] steps: - name: Checkout workspace uses: actions/checkout@v4 with: repository: UBCSailbot/sailbot_workspace + ref: ${{ needs.metadata.outputs.caller-sha }} - name: Checkout repositories uses: ./.github/actions/checkout/