-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Non-standard ref names are no longer found #1782
Comments
I am also seeing this and we are also using non standard tags. I just tried a workaround that I thought would work but it didn't and failed during the
This is the error I am getting:
|
Can you provide an example workflow of how you were successfully checking out non-standard refs? |
Sure, here is a minimal example that demonstrates the breakage introduced with 4.1.7 (breakage in a sense regardless of whether or not this ever was officially supported) https://github.com/oxc/actions-checkout-issue-1782/blob/main/.github/workflows/demo.yaml name: Demo for non-standard ref names issue
on:
workflow_dispatch:
jobs:
push_ref:
name: Create non-standard ref name
runs-on: ubuntu-latest
outputs:
ref: ${{ steps.push.outputs.ref }}
permissions:
contents: write
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Create dummy commit, and push as non-standard ref
id: push
run: |
git config user.name 'github-actions[bot]'
git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
echo "Dummy" > dummy
git add dummy
git commit -m 'Dummy commit (run id ${{ github.run_id }})'
git push origin HEAD:$REF
echo "ref=$REF" >> "$GITHUB_OUTPUT"
env:
REF: "refs/deploy-bot/${{ github.run_id }}/merge"
checkout_old_working:
name: Checkout non-standard ref name (working @4.1.6)
runs-on: ubuntu-latest
needs: push_ref
steps:
- name: Checkout repo
uses: actions/checkout@v4.1.6
with:
ref: ${{ needs.push_ref.outputs.ref }}
- name: Show latest commit
run: |
git log -1
cat dummy
checkout_new_failing:
name: Checkout non-standard ref name (failing @ > 4.1.6)
runs-on: ubuntu-latest
needs: push_ref
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
ref: ${{ needs.push_ref.outputs.ref }}
- name: Show latest commit
run: |
git log -1
cat dummy |
Background
In our repository workflow, we are creating a merge commit of some PRs and pushing it using the naming scheme
refs/deploy-bot/${runId}/merge
. This is then checked out in later dependant steps, by passing this value asref:
.Problem description
This stopped working in 4.1.7 with the changes from #1774.
Checkout now results in an error:
Attempted solutions
I tried switching to an "unqualified ref" name
deploy-bot/9543036827/merge
in the hopes that the branch can then be found, but then the checkout already fails during fetching:Alternative solutions
We would like to avoid having to use standard branch or tag refs, because we don't want to clutter the branch listings in git output and the GitHub UI with our temporary branch names.
The text was updated successfully, but these errors were encountered: