Commit after checkout.

This commit is contained in:
Alexander Artemenko 2021-02-07 03:06:14 +03:00
parent 4a1261cd8a
commit 3ebc39835f

View file

@ -159,36 +159,38 @@ behaviour could be overriden by keyword argument ``:raise t``."
((git-repository-was-changed-p) ((git-repository-was-changed-p)
(log:info "Pushing local changes to the repository") (log:info "Pushing local changes to the repository")
(git "add -u") (flet ((make-commit ()
(git "add -u")
;; We don't want to commit changes to qlfile, ;; We don't want to commit changes to qlfile,
;; because documentation builders might change them: ;; because documentation builders might change them:
(git "reset qlfile*") (git "reset qlfile*")
(when (uiop:getenv "GITHUB_ACTIONS") (when (uiop:getenv "GITHUB_ACTIONS")
(git "config --global user.name \"github-actions[bot]\"") (git "config --global user.name \"github-actions[bot]\"")
(git "config --global user.email \"actions@github.com\"")) (git "config --global user.email \"actions@github.com\""))
(git "commit -m 'Update docs'") (git "commit -m 'Update docs'")))
(cond
(cond ((uiop:getenv "GITHUB_HEAD_REF")
((uiop:getenv "GITHUB_HEAD_REF") (let ((ref (uiop:getenv "GITHUB_HEAD_REF")))
(let ((ref (uiop:getenv "GITHUB_HEAD_REF")))
;; Inside github action we are running on ;; Inside github action we are running on
;; detached commit. Github takes last commit ;; detached commit. Github takes last commit
;; from the "master" branch and merges ;; from the "master" branch and merges
;; a branch from pull-request settings. ;; a branch from pull-request settings.
;; ;;
;; To push changes back, we need to change ;; To push changes back, we need to change
;; our HEAD back to the pull-request's reference: ;; our HEAD back to the pull-request's reference:
(git "checkout " ref) (git "checkout " ref)
(git "remote add upstream " (make-commit)
(get-origin-to-push)) (git "remote add upstream "
(git "push upstream HEAD:" ref))) (get-origin-to-push))
(t (git "push upstream HEAD:" ref)))
(git "push")))) (t
(make-commit)
(git "push")))))
;; or ;; or
(t (log:info "There is no local changes."))))) (t (log:info "There is no local changes.")))))