Skip to content

lint/build/push

lint/build/push #5131

Workflow file for this run

name: lint/build/push
on:
pull_request:
push:
schedule:
- cron: '0 * * * 1'
jobs:
lint-pre-commit:
container:
image: carterjones/ci-runner:latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: tflint --init
- run: git config --global --add safe.directory /__w/infrastructure/infrastructure
- run: pre-commit run --all || (cat /github/home/.cache/pre-commit/pre-commit.log; exit 1)
lint-terraform:
container:
image: carterjones/ci-runner:latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: cd terraform && ./lint.sh
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
build-and-push:
runs-on: ubuntu-latest
needs: lint-pre-commit
strategy:
matrix:
os: ["ci-runner", "centos-stream9", "debian-12", "manjaro", "ubuntu-24.04", "restic-backup"]
steps:
- uses: actions/checkout@v4
- name: build ${{ matrix.os }} (and push when on main branch)
run: cd docker && ./release.sh ${{ matrix.os }}
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}