Commit Graph

219 Commits

Author SHA1 Message Date
Ross Williams
95f8a2cd05
Resolve simultaneous deployments with rebase (#1054)
* Return early from dry run

Determining whether to create a merge commit would elicit a nested
conditional, which could be hard to parse for a human reader. This is
avoided by returning early as soon as possible for a dry run.

This also resolves the erroneous 'changes committed' message when no
changes were actually committed because of the dry run. A message
specific to dry-run is logged instead.

* Add force parameter to action interface

Existing behaviour is equivalent to force=true, so the default value is
true.

* Implement pull+rebase procedure

* Declare force parameter in action

* Detect both rejection syntaxes

* Return both stdout and stderr from execute

* Ignore non-zero exit status on push

* Remove unnecessary error catch

* Fetch and rebase in separate steps

* Explicitly bind incoming branch

I think the fetch will update the origin/gh-pages branch but not the
gh-pages branch, despite requesting gh-pages. This means that when I
later attempt to rebase the temp branch on top of the gh-pages branch,
there will be nothing to do, because that's already where it is.

* Implement attempt limit

I don't expect this to ever require more than one attempt in production,
but in theory it's possible that this procedure could loop forever.

We would need to keep fetching and rebasing if changes keep being added
to the remote. In practice, I believe this would only happen if there
are lots of workflows simultaneously deploying to the same branch, all
using this action. In this case only one would be able to secure a lock
at a time, leading to the total number of attempts being equal to the
number of simultaneous deployments, assuming each deployment makes each
attempt at the exact same time.

The limit may need to be increased or even be configurable, but 3 should
cover most uses.

* Update tests for execute output split

* Document 'force' parameter

* Create integration test for rebase procedure

This test is composed of 3 jobs.

The first two jobs run simultaneously, and as such both depend on the
previous integration test only. The final job cleans up afterwards, and
depends on both of the prior jobs.

The two jobs are identical except that they both create a temporary file
in a different location. This is to ensure that they conflict. Correctly
resolving this conflict by rebasing one deployment over the other,
resulting in a deployment containing both files, indicates a successful
test.
2022-04-04 07:18:27 -04:00
Chongyi Zheng
bda8ff9021
Use checkout@v3 in example config (#1053) 2022-03-12 10:39:58 -05:00
Andi Pätzold
f6fcc79447
Typos & Grammar in README (#1042)
* Typos & grammar in README

* Format tables
2022-02-20 13:51:16 -05:00
James Ives
b284fae450 Merge branch 'dev' of https://github.com/JamesIves/github-pages-deploy-action into dev 2022-02-16 09:57:14 -05:00
James Ives
c45c4e010a Update README.md 2022-02-16 09:57:07 -05:00
James Ives
76a601a392
Update README.md 2022-02-12 16:18:43 -05:00
James Ives
32b51ecac7 Update README.md 2022-01-31 08:17:10 -05:00
JamesIves
261a89f974 Deploying to dev from @ JamesIves/github-pages-deploy-action@375f7e6220 🚀 2022-01-24 15:39:20 +00:00
James Ives
8def1cdfbf
Update README.md 2022-01-14 08:25:47 -05:00
James Ives
714df4415f
Adds concurrency documentation 2022-01-14 08:25:22 -05:00
James Ives
db9290180a
Update README.md 2022-01-13 11:36:02 -05:00
JamesIves
2a8d06b7a5 Deploying to dev from @ JamesIves/github-pages-deploy-action@f75d2c91c6 🚀 2022-01-13 15:41:25 +00:00
JamesIves
f75d2c91c6 Deploying to dev from @ JamesIves/github-pages-deploy-action@f47bc81799 🚀 2022-01-12 15:15:09 +00:00
James Ives
8e8fadf86d
Update README.md 2022-01-12 08:30:49 -05:00
James Ives
5dd62cac2d
Update README.md 2022-01-12 08:02:16 -05:00
JamesIves
a4083f648d Deploying to dev from @ JamesIves/github-pages-deploy-action@d514a16587 🚀 2022-01-12 13:01:40 +00:00
James Ives
1a965ca105
Move sponsorship section higher 2022-01-12 07:54:58 -05:00
James Ives
8b208a732f Update README.md 2022-01-10 08:34:12 -05:00
James Ives
f9ac38d93f Adds versioning change 2022-01-10 08:32:58 -05:00
James Ives
6520cf37a3 Update README.md 2022-01-09 11:10:17 -05:00
James Ives
7f5f01a457 Update README.md 2022-01-06 10:11:51 -05:00
James Ives
a7cf017c75
Ignore Case (#987)
* Update git.ts

* Formatting

* formatting

* Tests
2022-01-06 09:50:18 -05:00
James Ives
7a45d6e75c
Allow single-commit to work cross repo (#979)
* Adjustments

* Formatting
2022-01-06 08:21:35 -05:00
James Ives
aa1a6735a6 Update README.md 2022-01-05 11:47:23 -05:00
JamesIves
4085c3f4c0 Deploying to dev from @ JamesIves/github-pages-deploy-action@590878d41e 🚀 2021-12-13 15:36:27 +00:00
James Ives
567f2dcd22 Merge branch 'dev' of https://github.com/JamesIves/github-pages-deploy-action into dev 2021-11-26 07:54:01 -05:00
James Ives
9637531f27 Update README.md 2021-11-26 07:54:00 -05:00
Philip Nagler-Frank
6a4cf3204c
use "npm ci" instead of "npm install" in examples (#934) 2021-11-26 07:48:13 -05:00
James Ives
5acd2dbb1d Specification of empty git config <> 2021-11-26 07:46:44 -05:00
James Ives
7debed2571
Update README.md 2021-11-18 08:54:06 -05:00
James Ives
be4617dc64 Version 4.1.6 2021-11-18 08:21:27 -05:00
James Ives
bd6d73ed7d
Allow Empty Git Email Configs (#926)
* Allow empty email

* Update README.md

* Update constants.ts

* Allow email

* unsets email

* do not set

* Adjusted
2021-11-17 12:36:49 -05:00
Anush Bhatia
cd707eb74a
Modified the link & linked security documentation (#924) 2021-11-16 10:42:48 +00:00
James Ives
27151cafcf
Update README.md 2021-09-02 18:49:28 -04:00
JamesIves
b62f4db1d5 Deploying to dev from @ JamesIves/github-pages-deploy-action@e23750ee09 🚀 2021-07-10 15:36:29 +00:00
JamesIves
46dbf672a6 Deploying to dev from @ JamesIves/github-pages-deploy-action@634bcd2099 🚀 2021-06-30 15:42:21 +00:00
James Ives
437803aab1 Assigning readme changes for 4.1.4 2021-06-04 10:10:55 -04:00
James Ives
54cd74497e
Update README.md 2021-06-04 09:59:28 -04:00
JamesIves
152627dfcb Deploying to dev from @ JamesIves/github-pages-deploy-action@38edd9eeb3 🚀 2021-05-31 15:45:49 +00:00
James Ives
097d2b354c Docs 2021-05-11 19:23:56 -04:00
James Ives
a65346a680
Update README.md 2021-05-10 16:47:08 -04:00
James Ives
c8f3300436 4.1.2 2021-05-10 10:36:46 -04:00
James Ives
6502bd3a55
Changes to ref search (#705)
* Exact match on branchExists

* Linting
2021-05-10 09:18:05 -04:00
Sancho McCann
7a36d8a8cc
Updated documentation for clean (#698)
Tried to be more clear about what it does. Said that it does not touch `.git`, `.github`, `.ssh`.
2021-05-07 09:22:46 -04:00
JamesIves
fb9764a102 Deploying to dev from @ JamesIves/github-pages-deploy-action@184d104236 🚀 2021-05-06 04:05:28 +00:00
James Ives
1092e90805 Update README.md 2021-05-05 23:56:23 -04:00
James Ives
32108934e0
Update README.md 2021-05-05 23:24:22 -04:00
JamesIves
31de249e31 Deploying to dev from @ JamesIves/github-pages-deploy-action@ac8210fb5f 🚀 2021-05-06 03:23:34 +00:00
James Ives
ac8210fb5f Update README.md 2021-05-05 23:20:45 -04:00
James Ives
3ee97cff89 Adds Sponsors 2021-05-05 23:20:11 -04:00