Compare commits

...

2 Commits

Author SHA1 Message Date
John Wesley Walker III
6ccd57f4c5
Pin actions/checkout's own workflows to a known, good, stable version. (#1776)
* Pin actions/checkout's own workflows to a known, good, stable version.

* fixed failing unit test

* fix unit test
2024-06-12 13:11:03 -04:00
Orhan Toy
b17fe1e4d5
Handle hidden refs (#1774)
Co-authored-by: Chris Gavin <chris@chrisgavin.me>
2024-06-12 11:01:40 -04:00
8 changed files with 33 additions and 15 deletions

View File

@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.6
- name: Set Node.js 20.x
uses: actions/setup-node@v4

View File

@ -39,7 +39,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v4.1.6
- name: Initialize CodeQL
uses: github/codeql-action/init@v3

View File

@ -9,6 +9,6 @@ jobs:
runs-on: ubuntu-latest
name: Check licenses
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.6
- run: npm ci
- run: npm run licensed-check

View File

@ -19,7 +19,7 @@ jobs:
- uses: actions/setup-node@v4
with:
node-version: 20.x
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.6
- run: npm ci
- run: npm run build
- run: npm run format-check
@ -37,7 +37,7 @@ jobs:
steps:
# Clone this repo
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v4.1.6
# Basic checkout
- name: Checkout basic
@ -202,7 +202,7 @@ jobs:
steps:
# Clone this repo
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v4.1.6
# Basic checkout using git
- name: Checkout basic
@ -234,7 +234,7 @@ jobs:
steps:
# Clone this repo
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v4.1.6
# Basic checkout using git
- name: Checkout basic
@ -264,13 +264,13 @@ jobs:
steps:
# Clone this repo
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v4.1.6
with:
path: v4
path: localClone
# Basic checkout using git
- name: Checkout basic
uses: ./v4
uses: ./localClone
with:
ref: test-data/v2/basic
- name: Verify basic
@ -292,6 +292,6 @@ jobs:
# needed to make checkout post cleanup succeed
- name: Fix Checkout v4
uses: actions/checkout@v4
uses: actions/checkout@v4.1.6
with:
path: v4
path: localClone

View File

@ -22,7 +22,7 @@ jobs:
# Note this update workflow can also be used as a rollback tool.
# For that reason, it's best to pin `actions/checkout` to a known, stable version
# (typically, about two releases back).
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.6
with:
fetch-depth: 0
- name: Git config

View File

@ -67,6 +67,16 @@ describe('ref-helper tests', () => {
expect(checkoutInfo.startPoint).toBeFalsy()
})
it('getCheckoutInfo refs/', async () => {
const checkoutInfo = await refHelper.getCheckoutInfo(
git,
'refs/gh/queue/main/pr-123',
commit
)
expect(checkoutInfo.ref).toBe(commit)
expect(checkoutInfo.startPoint).toBeFalsy()
})
it('getCheckoutInfo unqualified branch only', async () => {
git.branchExists = jest.fn(async (remote: boolean, pattern: string) => {
return true

6
dist/index.js vendored
View File

@ -2000,9 +2000,13 @@ function getCheckoutInfo(git, ref, commit) {
result.ref = `refs/remotes/pull/${branch}`;
}
// refs/tags/
else if (upperRef.startsWith('REFS/')) {
else if (upperRef.startsWith('REFS/TAGS/')) {
result.ref = ref;
}
// refs/
else if (upperRef.startsWith('REFS/') && commit) {
result.ref = commit;
}
// Unqualified ref, check for a matching branch or tag
else {
if (yield git.branchExists(true, `origin/${ref}`)) {

View File

@ -42,9 +42,13 @@ export async function getCheckoutInfo(
result.ref = `refs/remotes/pull/${branch}`
}
// refs/tags/
else if (upperRef.startsWith('REFS/')) {
else if (upperRef.startsWith('REFS/TAGS/')) {
result.ref = ref
}
// refs/
else if (upperRef.startsWith('REFS/') && commit) {
result.ref = commit
}
// Unqualified ref, check for a matching branch or tag
else {
if (await git.branchExists(true, `origin/${ref}`)) {