Skip to content

Commit

Permalink
Merge pull request #6 from GatorEducator/feature/add-pandoc
Browse files Browse the repository at this point in the history
Add Pandoc
  • Loading branch information
Michionlion authored Sep 11, 2020
2 parents 83d3d0d + d138875 commit 2aa4f5b
Show file tree
Hide file tree
Showing 7 changed files with 181 additions and 25 deletions.
20 changes: 20 additions & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Check

on:
- push
- pull_request

jobs:
build:
name: Lint code
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Lint Dockerfile
run: |
docker run --rm -i hadolint/hadolint < Dockerfile
- name: Lint Markdown
run: |
sudo gem install mdl
mdl README.md
76 changes: 76 additions & 0 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Docker

on:
push:
# Publish `master` as Docker `latest` image.
branches:
- master

# Publish `v1.2.3` tags as releases.
tags:
- v*

# Run tests for any PRs.
pull_request:

env:
# TODO: Change variable to your image's name.
IMAGE_NAME: dockagator

jobs:
# Run tests.
# See also https://docs.docker.com/docker-hub/builds/automated-testing/
test-compile:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Build image
run: |
if [ -f docker-compose.test.yml ]; then
docker-compose --file docker-compose.test.yml build
docker-compose --file docker-compose.test.yml run sut
else
docker build . --file Dockerfile
fi
# Push image to GitHub Packages.
# See also https://docs.docker.com/docker-hub/builds/
push:
# Ensure test job passes before pushing image.
needs: test

runs-on: ubuntu-latest
if: github.event_name == 'push'

steps:
- uses: actions/checkout@v2

- name: Build image
run: docker build . --file Dockerfile --tag $IMAGE_NAME

- name: Log into registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin

- name: Push image
run: |
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
# Change all uppercase to lowercase
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
# Strip git ref prefix from version
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
# Strip "v" prefix from tag name
[[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//')
# Use Docker `latest` tag convention
[ "$VERSION" == "master" ] && VERSION=latest
echo IMAGE_ID=$IMAGE_ID
echo VERSION=$VERSION
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
43 changes: 43 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Create Release

on:
push:
branches:
- master

jobs:
bump-tag-version:
name: Bump and Tag Version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jefflinse/pr-semver-bump@v1
name: Bump and Tag Version
id: bump-tag-version
with:
mode: bump
repo-token: ${{ secrets.GITHUB_TOKEN }}
major-label: major
minor-label: minor
patch-label: patch
require-release-notes: true
release-notes-prefix: "# Release notes"
with-v: true
- name: Print Released Metadata
run: |
echo Old Version: ${{ steps.bump-tag-version.outputs.old-version }}
echo New Version: ${{ steps.bump-tag-version.outputs.version }}
echo Release Notes: ${{ steps.bump-tag-version.outputs.release-notes }}
- name: Create Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.bump-tag-version.outputs.version }}
release_name: Release ${{ steps.bump-tag-version.outputs.version }}
body: >
Release ${{ steps.bump-tag-version.outputs.version }} of the DockaGator docker image.
See [`README.md`](https://github.com/GatorEducator/dockagator/blob/${{ steps.bump-tag-version.outputs.version }}/README.md)
for example commands and more details.
draft: false
prerelease: false
36 changes: 36 additions & 0 deletions .github/workflows/validate-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: PR

on:
pull_request:
types:
- labeled
- unlabeled
- opened
- edited
- reopened
- synchronize
- ready_for_review

jobs:
check-pr:
name: Validate PR Release Label and Notes
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jefflinse/pr-semver-bump@v1
name: Validate PR Metadata
id: validate-pr-metadata
with:
mode: validate
repo-token: ${{ secrets.GITHUB_TOKEN }}
major-label: major
minor-label: minor
patch-label: patch
require-release-notes: true
release-notes-prefix: "# Release notes"
with-v: true
- name: Print Detected Metadata
run: |
echo Old Version: ${{ steps.validate-pr-metadata.outputs.old-version }}
echo New Version: ${{ steps.validate-pr-metadata.outputs.version }}
echo Release Notes: ${{ steps.validate-pr-metadata.outputs.release-notes }}
24 changes: 0 additions & 24 deletions .travis.yml

This file was deleted.

5 changes: 5 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ VOLUME ${PROJECT_DIR} ${GATORGRADER_DIR}
RUN set -ex && echo "Installing packages..." && apk update \
&& apk add --no-cache bash python3 git ruby-rdoc openjdk11 gradle npm \
&& rm -rf /var/cache/apk/* \
&& wget -O /pandoc.tar.gz https://github.com/jgm/pandoc/releases/download/2.10.1/pandoc-2.10.1-linux-amd64.tar.gz \
&& tar -C /usr --strip-components 1 -xzvf /pandoc.tar.gz \
&& rm /pandoc.tar.gz \
&& echo "Testing pandoc..." \
&& /usr/bin/pandoc --version \
&& gem install mdl \
&& npm install -g htmlhint \
&& python3 -m pip install --upgrade pip \
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on an assignment or project.

## Build

Simply run `./build.sh` to generate a new image.
Simply run `./build.sh` to generate a new image locally.

## Run

Expand Down

0 comments on commit 2aa4f5b

Please sign in to comment.