nofusscomputing / nofusscomputing/action_project

Failure on forked repo - Token secret not supplied

Open
#3 7 comments 0 reactions 1 assignee View on GitHub

@jon-nfc is already working on this.

Since Aug 14, 2024.

bug
Dominant language
No language data
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

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 https://github.com/nofusscomputing/scratchpad/pull/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

/cc @jasonpagetas

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.