Adding secrets

This commit is contained in:
James Ives 2019-03-03 15:45:52 -05:00
parent 388ff8e410
commit 958af6dcf5
2 changed files with 21 additions and 15 deletions

View File

@ -25,8 +25,6 @@ action "Deploy to GitHub Pages" {
BUILD_SCRIPT = "npm install && npm run-script build" BUILD_SCRIPT = "npm install && npm run-script build"
BRANCH = "gh-pages" BRANCH = "gh-pages"
FOLDER = "build" FOLDER = "build"
COMMIT_EMAIL = "github-pages-deployer@jives.dev"
COMMIT_NAME = "GitHub Pages Deployer"
} }
secrets = ["ACCESS_TOKEN"] secrets = ["ACCESS_TOKEN"]
} }
@ -34,16 +32,17 @@ action "Deploy to GitHub Pages" {
## Configuration 📁 ## Configuration 📁
The `env` portion of the workflow **must** be configured before the action will work. Below you'll find a description of what each one does. The `secrets` and `env` portion of the workflow **must** be configured before the action will work. Below you'll find a description of what each one does.
| Key | Value Information | Required | | Key | Value Information | Type | Required |
| ------------- | ------------- | ------------- | | ------------- | ------------- | ------------- | ------------- |
| `BUILD_SCRIPT` | If you require a build script to compile your code prior to pushing it you can add the script here. The Docker container which powers the action runs Node which means `npm` commands are valid. If you're using a static site generator such as Jekyll I'd suggest compiling the code prior to pushing it to your base branch. | **No** | | `ACCESS_TOKEN` | In order for GitHub to trigger the rebuild of your page you must provide the action with a GitHub personal access token. You can [learn more about how to generate one here](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line). This **should be stored as a secret.** | `secrets` | **Yes** |
| `BRANCH` | This is the branch you wish to deploy to, for example `gh-pages` or `docs`. | **Yes** | | `BUILD_SCRIPT` | If you require a build script to compile your code prior to pushing it you can add the script here. The Docker container which powers the action runs Node which means `npm` commands are valid. If you're using a static site generator such as Jekyll I'd suggest compiling the code prior to pushing it to your base branch. | `env` | **No** |
| `BASE_BRANCH` | The base branch of your repository which you'd like to checkout prior to deploying. This defaults to `master`. | **No** | | `BRANCH` | This is the branch you wish to deploy to, for example `gh-pages` or `docs`. | `env` | **Yes** |
| `FOLDER` | The folder in your repository that you want to deploy. If your build script compiles into a directory named `build` you'd put it here. | **Yes** | | `BASE_BRANCH` | The base branch of your repository which you'd like to checkout prior to deploying. This defaults to `master`. | `env` | **No** |
| `COMMIT_NAME` | Used to sign the commit, this should be your name. Defaults to `gh-pages-deploy@jives.dev` | **No** | | `FOLDER` | The folder in your repository that you want to deploy. If your build script compiles into a directory named `build` you'd put it here. | `env` | **Yes** |
| `COMMIT_EMAIL` | Used to sign the commit, this should be your email. Defaults to `GitHub Pages Deployer` | **No** | | `COMMIT_NAME` | Used to sign the commit, this should be your name. Defaults to `gh-pages-deploy@jives.dev` | `env` | **No** |
| `COMMIT_EMAIL` | Used to sign the commit, this should be your email. Defaults to `GitHub Pages Deployer` | `env` | **No** |
With the action correctly configured you should see something similar to this in your GitHub action workflow editor. With the action correctly configured you should see something similar to this in your GitHub action workflow editor.

View File

@ -11,6 +11,13 @@ then
exit 1 exit 1
fi fi
if [ -z "$ACCESS_TOKEN" ]
then
echo "You must provide the action with a GitHub Personal Access Token secret in order to deploy."
exit 1
fi
## Initializes Variables ## Initializes Variables
REPOSITORY_PATH="https://${ACCESS_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" && \ REPOSITORY_PATH="https://${ACCESS_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" && \
@ -23,8 +30,8 @@ cd $GITHUB_WORKSPACE && \
# Configures Git and checks out the base branch. # Configures Git and checks out the base branch.
git init && \ git init && \
git config --global user.email "${COMMIT_EMAIL:-gh-pages-deploy@jives.dev}" && \ git config --global user.email "${COMMIT_EMAIL:-GITHUB_ACTOR@users.noreply.github.com}" && \
git config --global user.name "${COMMIT_NAME:-Github Pages Deployer}" && \ git config --global user.name "${COMMIT_NAME:-GITHUB_ACTOR}" && \
git checkout "${BASE_BRANCH:-master}" && \ git checkout "${BASE_BRANCH:-master}" && \
# Builds the project if applicable. # Builds the project if applicable.
@ -33,6 +40,6 @@ eval "$BUILD_SCRIPT"
# Commits the data to Github. # Commits the data to Github.
git add -f $FOLDER && \ git add -f $FOLDER && \
git commit -m "Deploying $(date +"%T")" && \ git commit -m "Deploying to ${FOLDER} - $(date +"%T")" && \
git push --force $REPOSITORY_PATH `git subtree split --prefix $FOLDER master`:$BRANCH git push $REPOSITORY_PATH `git subtree split --prefix $FOLDER master`:$BRANCH --force