1
0
mirror of https://github.com/actions/checkout.git synced 2026-03-04 08:41:01 +08:00

Compare commits

...

5 Commits

Author SHA1 Message Date
Jack Bates
54d4578a41
Merge f787e7d544 into 6b42224f41 2024-10-03 11:25:48 +02:00
Joel Ambass
6b42224f41
Add workflow file for publishing releases to immutable action package (#1919)
This workflow file publishes new action releases to the immutable action package of the same name as this repo.

This is part of the Immutable Actions project which is not yet fully released to the public. First party actions like this one are part of our initial testing of this feature.
2024-10-03 11:03:35 +02:00
Orhan Toy
de5a000abf
Check out other refs/* by commit if provided, fall back to ref (#1924) 2024-10-01 20:24:28 -04:00
Jack Bates
f787e7d544
Apply suggestions from code review
Co-authored-by: Usman <akeju00+github@gmail.com>
2023-10-06 06:25:44 -07:00
Jack Bates
d48599a299
Set default user.name and user.email 2021-09-15 09:59:02 -07:00
5 changed files with 43 additions and 4 deletions

View File

@ -0,0 +1,20 @@
name: 'Publish Immutable Action Version'
on:
release:
types: [published]
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
- name: Checking out
uses: actions/checkout@v4
- name: Publish
id: publish
uses: actions/publish-immutable-action@0.0.3

View File

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

4
dist/index.js vendored
View File

@ -2005,8 +2005,8 @@ function getCheckoutInfo(git, ref, commit) {
result.ref = ref; result.ref = ref;
} }
// refs/ // refs/
else if (upperRef.startsWith('REFS/') && commit) { else if (upperRef.startsWith('REFS/')) {
result.ref = commit; result.ref = commit ? commit : ref;
} }
// Unqualified ref, check for a matching branch or tag // Unqualified ref, check for a matching branch or tag
else { else {

View File

@ -1,4 +1,5 @@
import * as core from '@actions/core' import * as core from '@actions/core'
import * as github from '@actions/github'
import * as fsHelper from './fs-helper' import * as fsHelper from './fs-helper'
import * as gitAuthHelper from './git-auth-helper' import * as gitAuthHelper from './git-auth-helper'
import * as gitCommandManager from './git-command-manager' import * as gitCommandManager from './git-command-manager'
@ -274,6 +275,14 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
settings.commit, settings.commit,
settings.githubServerUrl settings.githubServerUrl
) )
// Set default author
if (!await git.configExists('user.name', true)) {
await git.config('user.name', github.context.workflow, true)
}
if (!await git.configExists('user.email', true)) {
await git.config('user.email', 'github-actions@github.com', true)
}
} finally { } finally {
// Remove auth // Remove auth
if (authHelper) { if (authHelper) {

View File

@ -46,8 +46,8 @@ export async function getCheckoutInfo(
result.ref = ref result.ref = ref
} }
// refs/ // refs/
else if (upperRef.startsWith('REFS/') && commit) { else if (upperRef.startsWith('REFS/')) {
result.ref = commit result.ref = commit ? commit : ref
} }
// Unqualified ref, check for a matching branch or tag // Unqualified ref, check for a matching branch or tag
else { else {