mirror of
https://github.com/cpina/github-action-push-to-another-repository.git
synced 2025-09-05 00:05:45 -06:00
Merge 86e4dfff89fa3d6f1e1b0df2973361c21bad3bbe into 7c1bd869f38327ce403753fc2a5769e26cacb5ac
This commit is contained in:
commit
ce61ee201c
10
action.yml
10
action.yml
@ -54,6 +54,14 @@ inputs:
|
||||
[Optional] create target branch if not exist. Defaults to `false`
|
||||
default: false
|
||||
required: false
|
||||
source-file:
|
||||
description: '[Optional] Source file to transfer'
|
||||
required: false
|
||||
default: ''
|
||||
target-file:
|
||||
description: '[Optional] Target file path in destination repository'
|
||||
required: false
|
||||
default: ''
|
||||
|
||||
runs:
|
||||
using: docker
|
||||
@ -71,6 +79,8 @@ runs:
|
||||
- '${{ inputs.commit-message }}'
|
||||
- '${{ inputs.target-directory }}'
|
||||
- '${{ inputs.create-target-branch-if-needed }}'
|
||||
- '${{ inputs.source-file }}'
|
||||
- '${{ inputs.target-file }}'
|
||||
branding:
|
||||
icon: git-commit
|
||||
color: green
|
||||
|
@ -16,6 +16,8 @@ TARGET_BRANCH="${9}"
|
||||
COMMIT_MESSAGE="${10}"
|
||||
TARGET_DIRECTORY="${11}"
|
||||
CREATE_TARGET_BRANCH_IF_NEEDED="${12}"
|
||||
SOURCE_FILE="${13}"
|
||||
TARGET_FILE="${14}"
|
||||
|
||||
if [ -z "$DESTINATION_REPOSITORY_USERNAME" ]
|
||||
then
|
||||
@ -100,6 +102,9 @@ TEMP_DIR=$(mktemp -d)
|
||||
# including "." and with the exception of ".git/"
|
||||
mv "$CLONE_DIR/.git" "$TEMP_DIR/.git"
|
||||
|
||||
# Do this if sourcefile and target file is not set, means we are doing a directory transfer
|
||||
if [ -z "$SOURCE_FILE" ] && [ -z "$TARGET_FILE" ]
|
||||
then
|
||||
# $TARGET_DIRECTORY is '' by default
|
||||
ABSOLUTE_TARGET_DIRECTORY="$CLONE_DIR/$TARGET_DIRECTORY/"
|
||||
|
||||
@ -108,6 +113,7 @@ rm -rf "$ABSOLUTE_TARGET_DIRECTORY"
|
||||
|
||||
echo "[+] Creating (now empty) $ABSOLUTE_TARGET_DIRECTORY"
|
||||
mkdir -p "$ABSOLUTE_TARGET_DIRECTORY"
|
||||
fi
|
||||
|
||||
echo "[+] Listing Current Directory Location"
|
||||
ls -al
|
||||
@ -117,6 +123,9 @@ ls -al /
|
||||
|
||||
mv "$TEMP_DIR/.git" "$CLONE_DIR/.git"
|
||||
|
||||
# If sourcefile and target file is not set, means we are doing a directory transfer
|
||||
if [ -z "$SOURCE_FILE" ] && [ -z "$TARGET_FILE" ]
|
||||
then
|
||||
echo "[+] List contents of $SOURCE_DIRECTORY"
|
||||
ls "$SOURCE_DIRECTORY"
|
||||
|
||||
@ -137,6 +146,31 @@ fi
|
||||
|
||||
echo "[+] Copying contents of source repository folder $SOURCE_DIRECTORY to folder $TARGET_DIRECTORY in git repo $DESTINATION_REPOSITORY_NAME"
|
||||
cp -ra "$SOURCE_DIRECTORY"/. "$CLONE_DIR/$TARGET_DIRECTORY"
|
||||
fi
|
||||
|
||||
# If sourcefile and target file is set, means we are doing a file transfer
|
||||
if [ -n "$SOURCE_FILE" ] && [ -n "$TARGET_FILE" ]
|
||||
then
|
||||
echo "[+] SOURCE_FILE: $SOURCE_FILE"
|
||||
echo "[+] TARGET_FILE: $TARGET_FILE"
|
||||
|
||||
echo "[+] Copying single file from $SOURCE_FILE to $TARGET_FILE"
|
||||
if [ ! -f "$SOURCE_FILE" ]
|
||||
then
|
||||
echo "::error::Source file $SOURCE_FILE does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create target directory if it doesn't exist
|
||||
TARGET_FILE_DIR=$(dirname "$CLONE_DIR/$TARGET_FILE")
|
||||
mkdir -p "$TARGET_FILE_DIR"
|
||||
|
||||
# Copy the file
|
||||
cp "$SOURCE_FILE" "$CLONE_DIR/$TARGET_FILE"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
cd "$CLONE_DIR"
|
||||
|
||||
echo "[+] Files that will be pushed"
|
||||
|
Loading…
x
Reference in New Issue
Block a user