From 6502bd3a55ddd3cb81fb31fc9b873592821ed501 Mon Sep 17 00:00:00 2001 From: James Ives Date: Mon, 10 May 2021 09:18:05 -0400 Subject: [PATCH] Changes to ref search (#705) * Exact match on branchExists * Linting --- .github/workflows/sponsors.yml | 2 +- README.md | 26 +++++++++++++------------- src/git.ts | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/sponsors.yml b/.github/workflows/sponsors.yml index f9d197a2..06713779 100644 --- a/.github/workflows/sponsors.yml +++ b/.github/workflows/sponsors.yml @@ -23,4 +23,4 @@ jobs: uses: JamesIves/github-pages-deploy-action@4.1.1 with: branch: dev - folder: '.' \ No newline at end of file + folder: '.' diff --git a/README.md b/README.md index e798e703..bc2fdb35 100644 --- a/README.md +++ b/README.md @@ -134,19 +134,19 @@ By default the action does not need any token configuration and uses the provide #### Optional Choices -| 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. | `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** | -| `clean` | You can use this option to delete files from your deployment destination that no longer exist in your deployment source. One use case is if your project generates hashed files that vary from build to build. Using `clean` will not affect `.git`, `.github`, or `.ssh` directories. This option is turned on by default, and can be toggled off by setting it to `false`. | `with` | **No** | -| `clean-exclude` | If you need to use `clean` but you'd like to preserve certain files or folders you can use this option. This should contain each pattern as a single line in a multiline string. | `with` | **No** | -| `dry-run` | Do not actually push back, but use `--dry-run` on `git push` invocations instead. | `with` | **No** | -| `single-commit` | This option can be toggled to `true` if you'd prefer to have a single commit on the deployment branch instead of maintaining the full history. **Using this option will also cause any existing history to be wiped from the deployment branch**. | `with` | **No** | -| `silent` | Silences the action output preventing it from displaying git messages. | `with` | **No** | -| `workspace` | This should point to where your project lives on the virtual machine. The GitHub Actions environment will set this for you. It is only necessary to set this variable if you're using the node module. | `with` | **No** | +| 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. | `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** | +| `clean` | You can use this option to delete files from your deployment destination that no longer exist in your deployment source. One use case is if your project generates hashed files that vary from build to build. Using `clean` will not affect `.git`, `.github`, or `.ssh` directories. This option is turned on by default, and can be toggled off by setting it to `false`. | `with` | **No** | +| `clean-exclude` | If you need to use `clean` but you'd like to preserve certain files or folders you can use this option. This should contain each pattern as a single line in a multiline string. | `with` | **No** | +| `dry-run` | Do not actually push back, but use `--dry-run` on `git push` invocations instead. | `with` | **No** | +| `single-commit` | This option can be toggled to `true` if you'd prefer to have a single commit on the deployment branch instead of maintaining the full history. **Using this option will also cause any existing history to be wiped from the deployment branch**. | `with` | **No** | +| `silent` | Silences the action output preventing it from displaying git messages. | `with` | **No** | +| `workspace` | This should point to where your project lives on the virtual machine. The GitHub Actions environment will set this for you. It is only necessary to set this variable if you're using the node module. | `with` | **No** | With the action correctly configured you should see the workflow trigger the deployment under the configured conditions. diff --git a/src/git.ts b/src/git.ts index 221226ae..e2b1d72b 100644 --- a/src/git.ts +++ b/src/git.ts @@ -93,7 +93,7 @@ export async function deploy(action: ActionInterface): Promise { const branchExists = action.isTest & TestFlag.HAS_REMOTE_BRANCH || (await execute( - `git ls-remote --heads ${action.repositoryPath} ${action.branch}`, + `git ls-remote --heads ${action.repositoryPath} refs/heads/${action.branch}`, action.workspace, action.silent ))