Merge pull request #163 from Twinki14/workflow-cleanup

Standardize & Cleanup workflows
This commit is contained in:
Thijs van Loef
2024-01-27 18:55:31 +01:00
committed by GitHub
3 changed files with 56 additions and 51 deletions

View File

@@ -1,36 +1,31 @@
name: Docker-Image-Dev name: Developer image
on: on:
push: push:
branches: [ main ] branches: [main]
jobs: jobs:
push: push:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - name: Checkout
uses: actions/checkout@v4
- name: Login to DockerHub - name: Docker - Login
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
username: ${{ secrets.DOCKER_USERNAME }} username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }} password: ${{ secrets.DOCKER_PASSWORD }}
- name: Docker meta - name: Docker - Metadata
id: meta id: meta
uses: docker/metadata-action@v5 uses: docker/metadata-action@v5
with: with:
# list of Docker images to use as base name for tags images: ${{ github.repository }}
images: | tags: type=raw,value=dev
${{ github.repository }} flavor: latest=false
# generate Docker tags based on the following events/attributes
tags: |
type=raw,value=dev
# always generate latest tag on push
- name: Build and push to DockerHub - name: Docker - Build / Push
id: docker_build
uses: docker/build-push-action@v5 uses: docker/build-push-action@v5
with: with:
push: true push: true
tags: | tags: ${{ steps.meta.outputs.tags }}
${{ steps.meta.outputs.tags }}

View File

@@ -1,36 +1,48 @@
name: Linting name: Linting
on: [pull_request] on:
pull_request:
run-name: Pull request - ${{ github.event.pull_request.number }}
jobs: jobs:
shellcheck: shellcheck:
name: Lint - Shell
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v4
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@master - name: Shellcheck
uses: ludeeus/action-shellcheck@2.0.0
dockerlint: dockerlint:
name: Lint - Docker
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v4
- uses: hadolint/hadolint-action@v2.0.0
- uses: hadolint/hadolint-action@v3.1.0
with: with:
dockerfile: Dockerfile dockerfile: Dockerfile
lint: 'hadolint'
markdownlint: markdownlint:
name: Lint - Markdown
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out code - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v4
- uses: DavidAnson/markdownlint-cli2-action@v15
with: - name: Lint - Markdown
config: '.markdownlint.jsonc' uses: DavidAnson/markdownlint-cli2-action@v15
globs: '**/*.md'
test-build:
runs-on: ubuntu-latest
steps:
- name: Build the Image
uses: docker/build-push-action@v2
with: with:
push: false config: ".markdownlint.jsonc"
globs: "**/*.md"
test-build:
name: Docker - Build
runs-on: ubuntu-latest
steps:
- name: Docker - Build
uses: docker/build-push-action@v5
with:
push: false

View File

@@ -1,5 +1,5 @@
name: Release name: Release
on: on:
release: release:
types: [published] types: [published]
@@ -7,32 +7,30 @@ jobs:
release: release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - name: Checkout
uses: actions/checkout@v4
- name: Login to DockerHub - name: Docker - Login
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
username: ${{ secrets.DOCKER_USERNAME }} username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }} password: ${{ secrets.DOCKER_PASSWORD }}
- name: Docker meta - name: Docker - Metadata
id: meta id: meta
uses: docker/metadata-action@v5 uses: docker/metadata-action@v5
with: with:
# list of Docker images to use as base name for tags images: ${{ github.repository }}
images: |
${{ github.repository }}
# generate Docker tags based on the following events/attributes # generate Docker tags based on the following events/attributes
tags: | tags: |
type=semver,pattern=v{{version}} type=semver,pattern=v{{version}}
type=semver,pattern=v{{major}}.{{minor}} type=semver,pattern=v{{major}}.{{minor}}
type=semver,pattern=v{{major}} type=semver,pattern=v{{major}}
# always generate latest tag on push flavor: latest=true
flavor: |
latest=true - name: Docker - Build / Push
- name: Build and push to DockerHub & GitHub Packages
id: docker_build id: docker_build
uses: docker/build-push-action@v5 uses: docker/build-push-action@v5
with: with:
push: true push: true
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}