Revert to vivi action
This commit is contained in:
@@ -1,9 +1,14 @@
|
|||||||
FROM jekyll/minimal:latest
|
FROM jekyll/minimal:latest
|
||||||
USER root
|
LABEL version="1.2.0"
|
||||||
|
LABEL description="Minimal Jekyll image with basic build tools."
|
||||||
|
LABEL maintainer="Vivien Richter <vivien-richter@outlook.de>"
|
||||||
|
|
||||||
|
# Requirements
|
||||||
|
USER root
|
||||||
RUN apk --no-cache add build-base
|
RUN apk --no-cache add build-base
|
||||||
EXPOSE 4000/tcp
|
EXPOSE 4000/tcp
|
||||||
|
|
||||||
|
# Entry point
|
||||||
COPY entrypoint.sh /entrypoint.sh
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
|
RUN chmod +x /entrypoint.sh
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
|||||||
64
README.md
64
README.md
@@ -1,46 +1,44 @@
|
|||||||
# jekyll-build-action
|
# Jekyll action
|
||||||
Plain in-place Jekyll build action to be used in pipelines with a variety of possible deploy targets.
|
[](https://creativecommons.org/licenses/by/4.0)
|
||||||
|
|
||||||
# Usage
|
This action provides just Jekyll and some basic build tools ([Alpine's `build-base`](https://pkgs.alpinelinux.org/package/v3.3/main/x86/build-base)).
|
||||||
This Action literally only invokes a Jekyll build, so your pipeline needs to ensure the Jekyll source is first gathered, and once this action completes you must copy the contents of the destination folder to your intended hosting location.
|
It's based on the [jekyll/minimal:latest](https://github.com/envygeeks/jekyll-docker) [Docker](https://docker.com) image and the [jerryjvl/jekyll-build-action](https://github.com/jerryjvl/jekyll-build-action).
|
||||||
|
|
||||||
A typical example would be a GitHub repository with Jekyll source, and publishing the output to an S3 bucket configured for static site hosting.
|
## Usage
|
||||||
|
|
||||||
The pipeline to realize this would look something like the following:
|
|
||||||
```yaml
|
```yaml
|
||||||
jobs:
|
jobs:
|
||||||
jekyll:
|
jekyll:
|
||||||
name: Build and deploy Jekyll site
|
name: Build and store Jekyll site
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout 📥
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2.3.4
|
||||||
|
|
||||||
- name: Build
|
|
||||||
uses: jerryjvl/jekyll-build-action@v1
|
|
||||||
|
|
||||||
- name: Configure AWS credentials
|
|
||||||
uses: aws-actions/configure-aws-credentials@v1
|
|
||||||
with:
|
with:
|
||||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
lfs: true
|
||||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
fetch-depth: 1
|
||||||
aws-region: us-east-1
|
|
||||||
|
|
||||||
- name: Sync output to S3
|
- name: Build ⚙️
|
||||||
run: |
|
uses: vivi90/jekyll-minimal-action@v1.1.0
|
||||||
aws s3 sync ./_site/ s3://my-s3-bucket --delete
|
with:
|
||||||
|
command: jekyll build
|
||||||
|
|
||||||
|
- name: Store 📦
|
||||||
|
uses: actions/upload-artifact@v2.2.4
|
||||||
|
if: success()
|
||||||
|
with:
|
||||||
|
name: site
|
||||||
|
path: _site
|
||||||
```
|
```
|
||||||
|
Just use the `command` option as you like:
|
||||||
|
- `jekyll build --trace`
|
||||||
|
- `jekyll serve`
|
||||||
|
- and so on..
|
||||||
|
|
||||||
# References
|
## Contribution
|
||||||
For more technical details on these steps and associated setup, see:
|
Please feel free to create issues and/or pull requests.
|
||||||
- [actions/checkout](https://github.com/actions/checkout)
|
|
||||||
- [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials)
|
|
||||||
- [Creating encrypted secrets in GitHub](https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets)
|
|
||||||
|
|
||||||
# A Note on Security
|
## License
|
||||||
Please be mindful of the third-party actions you trust with your secrets, credentials and content. Without investigation you should assume a third-party action might exfiltrate your content to some secondary location, or modify contents before they are published.
|
This project is free software under the terms of the CC BY 4.0 license.
|
||||||
|
For more details please see the LICENSE file or: [Creative Commons](http://creativecommons.org/licenses/by/4.0)
|
||||||
|
|
||||||
Futhermore, if you rely on versioning that the publisher of an action can control, the action you think you are running could be changed later without your knowledge.
|
*The licenses of the installed components may differ.*
|
||||||
|
|
||||||
... Trust but verify!
|
|
||||||
|
|||||||
14
action.yml
14
action.yml
@@ -1,8 +1,16 @@
|
|||||||
name: 'Build Jekyll'
|
name: 'Jekyll Minimal Action'
|
||||||
description: 'Local pipeline build of Jekyll content; follow-on actions must publish it somewhere'
|
author: 'Vivien Richter <vivien-richter@outlook.de>'
|
||||||
|
description: 'Pure minimal Jekyll pipeline with basic build tools for universal usage.'
|
||||||
|
inputs:
|
||||||
|
command:
|
||||||
|
description: 'Complete Jekyll command'
|
||||||
|
required: true
|
||||||
|
default: 'jekyll --help'
|
||||||
runs:
|
runs:
|
||||||
using: 'docker'
|
using: 'docker'
|
||||||
image: 'Dockerfile'
|
image: 'Dockerfile'
|
||||||
|
args:
|
||||||
|
- ${{ inputs.command }}
|
||||||
branding:
|
branding:
|
||||||
icon: 'book-open'
|
icon: 'book-open'
|
||||||
color: 'white'
|
color: 'red'
|
||||||
|
|||||||
@@ -1,28 +1,16 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -x # verbose mode
|
# Set verbose mode
|
||||||
set -e # stop executing after error
|
set -x
|
||||||
|
|
||||||
echo "Starting Jekyll build"
|
# Stop executing after error
|
||||||
|
set -e
|
||||||
|
|
||||||
####################################################
|
# Change permissions
|
||||||
# Set workspace permissions
|
chmod -R a+w /github/workspace
|
||||||
####################################################
|
|
||||||
|
|
||||||
pwd
|
# Use working directory
|
||||||
|
cd /github/workspace
|
||||||
|
|
||||||
ls -R
|
# Run command
|
||||||
|
$*
|
||||||
chmod -R a+w ./
|
|
||||||
|
|
||||||
####################################################
|
|
||||||
# Build the Jekyll site
|
|
||||||
####################################################
|
|
||||||
|
|
||||||
jekyll build --trace
|
|
||||||
|
|
||||||
####################################################
|
|
||||||
# Build completed
|
|
||||||
####################################################
|
|
||||||
|
|
||||||
echo "Completed Jekll build"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user