Skip to content

Commit

Permalink
chore: updates
Browse files Browse the repository at this point in the history
This fixes a few issues and adds multi-arch builds
  • Loading branch information
morremeyer committed Aug 10, 2023
1 parent f807433 commit 3d2ce33
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 22 deletions.
57 changes: 57 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Adapted from https://dev.to/cloudx/multi-arch-docker-images-the-easy-way-with-github-actions-4k54
name: Build

on:
workflow_dispatch:
push:
branches:
- main
pull_request:

permissions:
packages: write

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3

- name: Set up QEMU
uses: docker/setup-qemu-action@2b82ce82d56a2a04d2637cd93a637ae1b359c0a7 # v2.2.0

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@4c0219f9ac95b02789c1075625400b2acbff50b1 # v2.9.1

- name: Login to GHCR
if: github.ref == 'refs/heads/main'
uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # v2.2.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Generate datever tag
id: calver
run: |
echo version="$(date +%Y.%m.%s)" >> $GITHUB_OUTPUT
- name: Docker meta
id: meta
uses: docker/metadata-action@818d4b7b91585d195f67373fd9cb0332e31a7175 # v4.6.0
with:
flavor: |
latest=false
images: |
ghcr.io/morremeyer/usb-print
tags: |
type=raw,value=${{ steps.calver.outputs.version }}
- name: Build and push
uses: docker/build-push-action@2eb1c1961a95fc15694676618e422e8ba1d63825 # v4.1.1
with:
platforms: linux/amd64,linux/arm64
push: ${{ github.ref == 'refs/heads/main' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
38 changes: 21 additions & 17 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
default_stages: [commit]
repos:
- repo: https://github.com/psf/black
rev: 20.8b1
hooks:
- id: black
args: [--target-version, py38]
- repo: https://github.com/psf/black
rev: 20.8b1
hooks:
- id: black

- repo: https://github.com/PyCQA/isort
rev: 5.8.0
hooks:
- id: isort
- repo: https://github.com/PyCQA/isort
rev: 5.8.0
hooks:
- id: isort

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.0
hooks:
- id: requirements-txt-fixer
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.0
hooks:
- id: requirements-txt-fixer

- repo: https://gitlab.com/pycqa/flake8
rev: 3.9.2
hooks:
- id: flake8
- repo: https://gitlab.com/pycqa/flake8
rev: 3.9.2
hooks:
- id: flake8

- repo: https://github.com/hadolint/hadolint
rev: v2.12.0
hooks:
- id: hadolint-docker
11 changes: 6 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
FROM python:3.11.4-buster

RUN apt-get update && apt-get install -y \
libcups2-dev
FROM --platform=${BUILDPLATFORM} python:3.11.4-buster

# hadolint ignore=DL3008
RUN apt-get update && apt-get install -y --no-install-recommends \
libcups2-dev \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app

COPY requirements.txt .
RUN pip install -r requirements.txt
RUN pip install --no-cache-dir -r requirements.txt

COPY src /app/
CMD [ "python", "/app/print.py" ]

0 comments on commit 3d2ce33

Please sign in to comment.