Skip to content

Failure on forked repo - Token secret not supplied #3

Open
@jon-nfc

Description

@jon-nfc
Member

On a forked repo the secret is not available. figure out a way to have this workflow run. Test should have already been done in the scratchpad, however they weren't. this was the purpose of nofusscomputing/scratchpad#8

  • ❓ Can the git job token be used??

Run actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e
  with:
    project-url: https://github.com/orgs/nofusscomputing/projects/[3](https://github.com/nofusscomputing/ansible_collection_centurion/actions/runs/10381144478/job/28742085387#step:2:3)
Error: Input required and not supplied: github-token

Debugging

Proposed Solution 1

Split workflow into two parts. Triage runs in the context of the issue/PR and on completion triggers (workflow_run) the actual workflow which should run in the context of the repo. Idea is the same as this action

for this to work the details of what was triaged will be required to be passed to triggered workflow.

  • triage.yaml
---

name: Triage


on:
  issues:
    types:
      - opened
      - reopened
      - transferred
      - milestoned
      - demilestoned
      - closed
      - assigned
  pull_request: 
    types:
      - opened
      - edited
      - assigned
      - reopened
      - closed


jobs:


  project:
    name: Fetch Triage Details
    runs-on: ubuntu-latest
    steps:

    - name: Collect Triage Details
      shell: bash
      run: |
        echo "triage_event_name=${{ github.event_name }}" > triage_details-project.txt;
        echo "triage_event_action=${{ github.event.action }}" >> triage_details-project.txt;

        if [ "${{ github.event_name }}" == 'pull_request' ]; then
        
          echo "triage_item_number=${{ github.event.pull_request.number }}" >> triage_details-project.txt;

          echo "triage_item_url=https://github.com/${{ github.repository }}/pull/${{ github.event.pull_request.number }}" >> triage_details-project.txt;

        else

          echo "triage_item_number=${{ github.event.issue.number }}" >> triage_details-project.txt;

          echo "triage_item_url=https://github.com/${{ github.repository }}/issues/${{ github.event.issue.number }}" >> triage_details-project.txt;

        fi;


        echo "[Debug]************************************";

        cat triage_details-project.txt;

        echo "[Debug]************************************";


      - name: Upload Triage Data
        uses: actions/upload-artifact@v4
        with:
          name: triage-details-project
          path: triage_details-project.txt
  • project.yaml
---

name: 'Project'
on:
  workflow_run:
    workflows:
      - 'Triage'
    types:
      - completed


permissions:
  contents: read
  actions: read


jobs:

  prepare-project-triage: 
    name: Project Triage
    runs-on: ubuntu-latest
    outputs:
      triage_event_name: ${{ steps.triage-output.outputs.triage_event_name }}
      triage_event_action: ${{ steps.triage-output.outputs.triage_event_action }}
      triage_item_number: ${{ steps.triage-output.outputs.triage_item_number }}
      triage_item_url: ${{ steps.triage-output.outputs.triage_item_url }}
    steps:

      ## Additional Steps

      - name: Fetch triage Details
        uses: actions/download-artifact@v4
        with:
          name: triage-details-project
          run-id: ${{ github.event.workflow_run.id }}


      - name: Set Outputs
        id: triage-output
        shell: bash
        run: |
          cat triage_details-project.txt > $GITHUB_OUTPUT


  project:
    name: Project
    needs:
      - prepare-project-triage
    uses: nofusscomputing/action_project/.github/workflows/project.yaml@development
    with:
      PROJECT_URL: https://github.com/orgs/nofusscomputing/projects/3
      TRIAGE_EVENT_NAME: ${{ needs.prepare-project-triage.outputs.triage_event_name }}
      TRIAGE_EVENT_ACTION: ${{ needs.prepare-project-triage.outputs.triage_event_action }}
      TRIAGE_ITEM_NUMBER: ${{ needs.prepare-project-triage.outputs.triage_item_number }}
      TRIAGE_ITEM_URL: ${{ needs.prepare-project-triage.outputs.triage_item_url }}
    secrets:
      WORKFLOW_TOKEN: ${{ secrets.WORKFLOW_TOKEN }}

Solution 1 Problem

There does not appear to be a way to specify the item url for action actions/add-to-project

Links

Tasks

  • 🚧 Does "Proposed solution 1" work

    • Update workflow to use proposed TRIAGE_ variables

      TRIAGE_EVENT_NAME: ${{ needs.prepare-project-triage.outputs.triage_event_name }}
      TRIAGE_EVENT_ACTION: ${{ needs.prepare-project-triage.outputs.triage_event_action }}
      TRIAGE_ITEM_NUMBER: ${{ needs.prepare-project-triage.outputs.triage_item_number }}
      TRIAGE_ITEM_URL: ${{ needs.prepare-project-triage.outputs.triage_item_url }}

/cc @jasonpagetas

Activity

added this to the 1.0.0 milestone on Aug 14, 2024
self-assigned this
on Aug 14, 2024
jon-nfc

jon-nfc commented on Aug 15, 2024

@jon-nfc
MemberAuthor

Test implemented - Solution 1

On merge

added a commit that references this issue on Aug 15, 2024

16 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @jon-nfc

      Issue actions

        Failure on forked repo - Token secret not supplied · Issue #3 · nofusscomputing/action_project