Skip to content

Commit

Permalink
Allow single-commit to work cross repo (#979)
Browse files Browse the repository at this point in the history
* Adjustments

* Formatting
  • Loading branch information
JamesIves committed Jan 6, 2022
1 parent 6c7f261 commit 7a45d6e
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 9 deletions.
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -137,7 +137,7 @@ By default the action does not need any token configuration and uses the provide
| Key | Value Information | Type | Required |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | -------- |
| `git-config-name` | Allows you to customize the name that is attached to the git config which is used when pushing the deployment commits. If this is not included it will use the name in the GitHub context, followed by the name of the action. | `with` | **No** |
| `git-config-email` | Allows you to customize the email that is attached to the git config which is used when pushing the deployment commits. If this is not included it will use the email in the GitHub context, followed by a generic noreply GitHub email. You can include `<>` for the value if you wish to omit this field altogether and push the commits without an email. | `with` | **No** |
| `git-config-email` | Allows you to customize the email that is attached to the git config which is used when pushing the deployment commits. If this is not included it will use the email in the GitHub context, followed by a generic noreply GitHub email. You can include `<>` for the value if you wish to omit this field altogether and push the commits without an email. | `with` | **No** |
| `repository-name` | Allows you to specify a different repository path so long as you have permissions to push to it. This should be formatted like so: `JamesIves/github-pages-deploy-action`. You'll need to use a PAT in the `token` input for this configuration option to work properly. | `with` | **No** |
| `target-folder` | If you'd like to push the contents of the deployment folder into a specific directory on the deployment branch you can specify it here. | `with` | **No** |
| `commit-message` | If you need to customize the commit message for an integration you can do so. | `with` | **No** |
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Expand Up @@ -7,7 +7,7 @@ The current version is actively maintained and will receive frequent updates and
| Version | Supported |
| ------- | ------------------ |
| 4.0.x | :white_check_mark: |
| < 4.0.0 | :x: |
| < 4.0.0 | :x: |

## Reporting a Vulnerability

Expand Down
1 change: 1 addition & 0 deletions __tests__/main.test.ts
Expand Up @@ -2,6 +2,7 @@
process.env['INPUT_FOLDER'] = 'build'
process.env['GITHUB_SHA'] = '123'
process.env['INPUT_DEBUG'] = 'debug'
process.env['GITHUB_REF_NAME'] = 'test'

import '../src/main'
import {action, TestFlag} from '../src/constants'
Expand Down
10 changes: 5 additions & 5 deletions src/lib.ts
Expand Up @@ -23,12 +23,12 @@ export default async function run(
info(`
GitHub Pages Deploy Action 🚀
🚀 Getting Started Guide: https://github.com/marketplace/actions/deploy-to-github-pages
❓ Discussions / Q&A: https://github.com/JamesIves/github-pages-deploy-action/discussions
🔧 Report a Bug: https://github.com/JamesIves/github-pages-deploy-action/issues
💖 Support: https://github.com/sponsors/JamesIves
📣 Maintained by James Ives: https://jamesiv.es
💖 Support: https://github.com/sponsors/JamesIves`)
🚀 Getting Started Guide: https://github.com/JamesIves/github-pages-deploy-action
❓ Discussions / Q&A: https://github.com/JamesIves/github-pages-deploy-action/discussions
🔧 Report a Bug: https://github.com/JamesIves/github-pages-deploy-action/issues`)

info('Checking configuration and starting deployment… 🚦')

Expand Down
15 changes: 13 additions & 2 deletions src/worktree.ts
Expand Up @@ -43,28 +43,39 @@ export async function generateWorktree(
action.workspace,
action.silent
)

const checkout = new GitCheckout(action.branch)

if (branchExists) {
// There's existing data on the branch to check out
checkout.commitish = `origin/${action.branch}`
}
if (!branchExists || action.singleCommit) {
// Create a new history if we don't have the branch, or if we want to reset it

if (
!branchExists ||
(action.singleCommit && action.branch !== process.env.GITHUB_REF_NAME)
) {
/* Create a new history if we don't have the branch, or if we want to reset it.
If the ref name is the same as the branch name, do not attempt to create an orphan of it. */
checkout.orphan = true
}

await execute(
checkout.toString(),
`${action.workspace}/${worktreedir}`,
action.silent
)

if (!branchExists) {
info(`Created the ${action.branch} branch… 🔧`)

// Our index is in HEAD state, reset
await execute(
'git reset --hard',
`${action.workspace}/${worktreedir}`,
action.silent
)

if (!action.singleCommit) {
// New history isn't singleCommit, create empty initial commit
await execute(
Expand Down

0 comments on commit 7a45d6e

Please sign in to comment.