Skip to content

Commit

Permalink
chore: update README and CI pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
brpaz committed Dec 6, 2020
1 parent 7e374b1 commit 37cdec0
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 52 deletions.
68 changes: 22 additions & 46 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,60 +10,34 @@ env:

jobs:
lint:
runs-on: ubuntu-latest
container: pipelinecomponents/hadolint:latest
name: Lint
runs-on: ubuntu-20.04
container: pipelinecomponents/hadolint:0.10.1
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2
- name: Run hadolint
run: hadolint Dockerfile

build:
runs-on: ubuntu-latest
needs: ['lint']
build-test:
name: Build and Test
runs-on: ubuntu-20.04
needs: ["lint"]
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2
- name: Build Docker image
run: docker build -t $TEST_IMAGE_NAME .

- name: Save Docker image artifact
run: docker save -o action.tar $TEST_IMAGE_NAME

- name: Upload image artifact
uses: actions/upload-artifact@master
with:
name: action-image
path: action.tar

test:
name: Unit Tests
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v1

- name: Pull Image artifact
uses: actions/download-artifact@master
with:
name: action-image

- name: Load image into docker context
run: docker load -i action.tar

- name: Get Image Name
id: image_name
run: echo "##[set-output name=image;]$(echo $TEST_IMAGE_NAME)"

- name: Run Structure tests
uses: brpaz/structure-tests-action@master
uses: brpaz/structure-tests-action@v1.1.2
with:
image: ${{ steps.image_name.outputs.image }}
image: ${{ env.TEST_IMAGE_NAME }}

integration:
integration-tests:
name: Integration Tests
runs-on: ubuntu-latest
needs: test
runs-on: ubuntu-20.04
needs: build-test
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Run integration test
uses: ./
Expand All @@ -73,11 +47,13 @@ jobs:
release:
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
name: Release
runs-on: ubuntu-latest
needs: integration
runs-on: ubuntu-20.04
needs: integration-tests
steps:
- uses: actions/checkout@v1
- name: Semantic Release
uses: brpaz/action-semantic-release@master
- uses: actions/checkout@v2
- uses: cycjimmy/semantic-release-action@v2
with:
extra_plugins: |
@semantic-release/git
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
35 changes: 29 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,35 @@
# Hadolint GitHub Action
# Hadolint Action

> Action that runs [Hadolint](https://github.com/hadolint/hadolint) Dockerfile linting tool.
> GitHub Action that runs [Hadolint](https://github.com/hadolint/hadolint) Dockerfile linting tool.
[![GitHub Action](https://img.shields.io/badge/GitHub-Action-blue?style=for-the-badge)](https://github.com/features/actions)
[![License](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](LICENSE)
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge)](http://commitizen.github.io/cz-cli/)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge)](https://github.com/semantic-release/semantic-release?style=for-the-badge)

[![GitHub Actions](https://github.com/brpaz/hadolint-action/workflows/CI/badge.svg?style=for-the-badge)](https://github.com/brpaz/hadolint-action/actions)
[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/brpaz/hadolint-action/CI?style=for-the-badge)](https://github.com/brpaz/hadolint-action/action)

## Usage

Add the following step to your workflow configuration:

```yml
steps:
uses: brpaz/hadolint-action@master
- uses: brpaz/hadolint-action@v1.2.1
with:
dockerfile: Dockerfile
```

## Inputs

**`dockerfile`**
| Name | Description | Default |
|------------ |----------------------------------------- |-------------- |
| dockerfile | The path to the Dockerfile to be tested | ./Dockerfile |

## Hadolint Configuration

To configure Hadolint (for example ignore rules), you can create an `.hadolint.yaml` file in the root of your repository. Please check the Hadolint [documentation](https://github.com/hadolint/hadolint#configure).

The path to the Dockerfile to be tested. By default it will look for a Dockerfile in the current directory.

## 🤝 Contributing

Expand All @@ -37,6 +46,20 @@ Contributions are what make the open source community such an amazing place to b
* [Building actions - GitHub Help](https://help.github.com/en/articles/building-actions)
* [actions/toolkit: The GitHub ToolKit for developing GitHub Actions.](https://github.com/actions/toolkit)


## 💛 Support the project

If this project was useful to you in some form, I would be glad to have your support. It will help to keep the project alive and to have more time to work on Open Source.

The sinplest form of support is to give a ⭐️ to this repo.

You can also contribute with [GitHub Sponsors](https://github.com/sponsors/brpaz).

[![GitHub Sponsors](https://img.shields.io/badge/GitHub%20Sponsors-Sponsor%20Me-red?style=for-the-badge)](https://github.com/sponsors/brpaz)

Or if you prefer a one time donation to the project, you can simple:

<a href="https://www.buymeacoffee.com/Z1Bu6asGV" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: auto !important;width: auto !important;" ></a>
## Author

👤 **Bruno Paz**
Expand Down

0 comments on commit 37cdec0

Please sign in to comment.