Updates (#1) #26
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
# Controls when the action will run. Triggers the workflow on push to master branch or on schedule (on the 1st of every month) | |
# events | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- 'v*.*.*' | |
schedule: | |
- cron: '0 16 1 * *' | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
# Set the job key. The key is displayed as the job name | |
# when a job name is not provided | |
lint: | |
if: github.event_name == 'schedule' || | |
(github.event_name == 'push' && | |
!contains(github.event.head_commit.message, '***NO_CI***') && | |
!contains(github.event.head_commit.message, '[ci skip]') && | |
!contains(github.event.head_commit.message, '[skip ci]') && | |
!contains(github.event.head_commit.message, '[skip_ci]')) | |
# Name the Job | |
name: Lint code base | |
# Set the type of machine to run on | |
runs-on: ubuntu-latest | |
steps: | |
# Checks out a copy of your repository on the ubuntu-latest machine | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
# Runs the Super-Linter action | |
- name: Run Super-Linter | |
uses: github/super-linter@v6 | |
env: | |
DEFAULT_BRANCH: main | |
VALIDATE_BASH: true | |
VALIDATE_DOCKERFILE: true | |
VALIDATE_DOCKERFILE_HADOLINT: true | |
VALIDATE_MARKDOWN: true | |
VALIDATE_YAML: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# Build and publish debug docker image | |
build_and_push: | |
# lint job must complete successfully before build_and_push job begins | |
needs: | |
- lint | |
# The type of runner that the job will run on | |
runs-on: ubuntu-latest | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # this is important, otherwise it won't checkout the full tree (i.e. no previous tags) | |
- # Add support for more platforms with QEMU (optional) | |
# https://github.com/docker/setup-qemu-action | |
name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to DockerHub | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Set outputs | |
id: vars | |
run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./Dockerfile | |
platforms: linux/amd64,linux/arm64,linux/386 | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: | | |
aaneci/debug:latest | |
aaneci/debug:${{ steps.vars.outputs.sha_short }} | |
labels: | | |
debug=all_in_one | |
# tags: ${{ steps.docker_meta.outputs.tags }} | |
# labels: ${{ steps.docker_meta.outputs.labels }} |