Skip to content

Commit

Permalink
Merge pull request #1 from rearc/feature/docker
Browse files Browse the repository at this point in the history
Add Dockerfile and gh workflow to build and publish image
  • Loading branch information
binoculars authored Oct 22, 2024
2 parents 863a8e7 + fe00d99 commit 71ba590
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.dockerignore
compose.yml
Dockerfile
*.md
.git/
61 changes: 61 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
name: Build and Publish

on:
workflow_dispatch:
pull_request:
push:
branches:
- master

permissions:
id-token: write
packages: write
statuses: write
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-and-publish:
name: Build and Publish
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Git clone the repository
uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Add GHCR env var
env:
REPO: ${{ github.repository }}
REF_NAME: ${{ github.ref_name }}
run: |
echo "GHCR_REPO=ghcr.io/${REPO,,}" >>"${GITHUB_ENV}"
echo "GHCR_TAG=${REF_NAME/\//_}" >>"${GITHUB_ENV}"
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: |
${{ env.GHCR_REPO }}:latest
${{ env.GHCR_REPO }}:${{ env.GHCR_TAG }}
cache-from: type=gha,scope=${{ github.repository_id }}
cache-to: type=gha,mode=max,scope=${{ github.repository_id }}
14 changes: 14 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
FROM python:3.13-alpine

WORKDIR /opt/app

COPY MANIFEST.in README.rst requirements.txt setup.py ./
COPY iamctl/ iamctl/
COPY bin/ bin/

RUN apk add --no-cache git && \
git init && \
pip install --no-cache-dir . && \
rm -rf /root/.cache

ENTRYPOINT [ "iamctl" ]
6 changes: 6 additions & 0 deletions compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
services:
main:
build:
context: .
volumes:
- ~/.aws/:/root/.aws/:rw

0 comments on commit 71ba590

Please sign in to comment.