Skip to content

Commit 120bff1

Browse files
authored
fix: update deprecated actions and add Docker support (#12)
Co-authored-by: Hernan Monserrat <16483541+hemonserrat@users.noreply.github.com>
1 parent 3fafaf5 commit 120bff1

3 files changed

Lines changed: 141 additions & 3 deletions

File tree

.dockerignore

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# Git
2+
.git
3+
.gitignore
4+
5+
# Python
6+
__pycache__
7+
*.pyc
8+
*.pyo
9+
*.pyd
10+
.Python
11+
env
12+
pip-log.txt
13+
pip-delete-this-directory.txt
14+
.tox
15+
.coverage
16+
.coverage.*
17+
.cache
18+
nosetests.xml
19+
coverage.xml
20+
*.cover
21+
*.log
22+
.git
23+
.mypy_cache
24+
.pytest_cache
25+
.hypothesis
26+
27+
# Distribution / packaging
28+
.Python
29+
build/
30+
develop-eggs/
31+
dist/
32+
downloads/
33+
eggs/
34+
.eggs/
35+
lib/
36+
lib64/
37+
parts/
38+
sdist/
39+
var/
40+
wheels/
41+
*.egg-info/
42+
.installed.cfg
43+
*.egg
44+
45+
# PyInstaller
46+
*.manifest
47+
*.spec
48+
49+
# Installer logs
50+
pip-log.txt
51+
pip-delete-this-directory.txt
52+
53+
# Unit test / coverage reports
54+
htmlcov/
55+
.tox/
56+
.coverage
57+
.coverage.*
58+
.cache
59+
.pytest_cache/
60+
nosetests.xml
61+
coverage.xml
62+
*.cover
63+
.hypothesis/
64+
65+
# Environments
66+
.env
67+
.venv
68+
env/
69+
venv/
70+
ENV/
71+
env.bak/
72+
venv.bak/
73+
74+
# IDE
75+
.vscode/
76+
.idea/
77+
*.swp
78+
*.swo
79+
*~
80+
81+
# OS
82+
.DS_Store
83+
.DS_Store?
84+
._*
85+
.Spotlight-V100
86+
.Trashes
87+
ehthumbs.db
88+
Thumbs.db
89+
90+
# Project specific
91+
tests/
92+
.github/
93+
CONTRIBUTING.md
94+
TESTING.md
95+
.safety-project.ini
96+
pytest.ini

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
fetch-depth: 0
7171

7272
- name: Download build artifacts
73-
uses: actions/download-artifact@v3
73+
uses: actions/download-artifact@v4
7474
with:
7575
name: dist
7676
path: dist/
@@ -118,7 +118,7 @@ jobs:
118118
id-token: write
119119
steps:
120120
- name: Download build artifacts
121-
uses: actions/download-artifact@v3
121+
uses: actions/download-artifact@v4
122122
with:
123123
name: dist
124124
path: dist/
@@ -139,7 +139,7 @@ jobs:
139139
id-token: write
140140
steps:
141141
- name: Download build artifacts
142-
uses: actions/download-artifact@v3
142+
uses: actions/download-artifact@v4
143143
with:
144144
name: dist
145145
path: dist/

Dockerfile

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Use Python 3.11 slim image as base
2+
FROM python:3.11-slim
3+
4+
# Set environment variables
5+
ENV PYTHONDONTWRITEBYTECODE=1 \
6+
PYTHONUNBUFFERED=1 \
7+
PIP_NO_CACHE_DIR=1 \
8+
PIP_DISABLE_PIP_VERSION_CHECK=1
9+
10+
# Install system dependencies required for cryptography and gnupg
11+
RUN apt-get update && apt-get install -y \
12+
gcc \
13+
g++ \
14+
libffi-dev \
15+
libssl-dev \
16+
gnupg \
17+
git \
18+
&& rm -rf /var/lib/apt/lists/*
19+
20+
# Set work directory
21+
WORKDIR /app
22+
23+
# Copy requirements first for better caching
24+
COPY requirements.txt .
25+
26+
# Install Python dependencies
27+
RUN pip install --no-cache-dir -r requirements.txt
28+
29+
# Copy the entire project
30+
COPY . .
31+
32+
# Install the package
33+
RUN pip install --no-cache-dir .
34+
35+
# Create a non-root user
36+
RUN useradd --create-home --shell /bin/bash gituser && \
37+
chown -R gituser:gituser /app
38+
USER gituser
39+
40+
# Set the default command
41+
ENTRYPOINT ["git-safe"]
42+
CMD ["--help"]

0 commit comments

Comments
 (0)