python 3
Some checks failed
Build and Publish registry cleaner / publish (push) Failing after 37s

This commit is contained in:
Eugene Howe
2025-11-04 06:29:05 -05:00
parent 15f0c00252
commit c1afcc86f3
7 changed files with 49 additions and 73 deletions

View File

@@ -1,62 +0,0 @@
# Python CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-python/ for more details
#
version: 2
jobs:
build:
docker:
# specify the version you desire here
# use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers`
- image: circleci/python:3.6.1
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/postgres:9.4
working_directory: ~/repo
steps:
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "requirements-ci.txt" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-
- run:
name: install dependencies
command: |
python3 -m venv venv
. venv/bin/activate
pip install -r requirements-ci.txt
- save_cache:
paths:
- ./venv
key: v1-dependencies-{{ checksum "requirements-ci.txt" }}
# run tests!
# this example uses Django's built-in test-runner
# other common Python testing frameworks include pytest and nose
# https://pytest.org
# https://nose.readthedocs.io
- run:
name: run tests
command: |
. venv/bin/activate
coverage run --include=test.py,registry.py test.py
- run:
name: generate report
command: |
. venv/bin/activate
mkdir -p /tmp/coverage
coverage html -d /tmp/coverage
mv .coverage /tmp/coverage
- store_artifacts:
path: /tmp/coverage

View File

@@ -0,0 +1,38 @@
name: Build and Publish registry cleaner
run-name: ${{ gitea.actor }} is runs ci pipeline
on:
push:
branches: [main]
jobs:
publish:
runs-on: ubuntu-latest
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
steps:
- uses: https://github.com/actions/checkout@v4
- name: Set up Docker Buildx
uses: https://github.com/docker/setup-buildx-action@v3
env:
DOCKER_HOST: unix:///var/run/docker.sock
with:
config-inline: |
[registry."docker.office.clintonambulance.com"]
- name: Log in to Docker Registry
uses: https://github.com/docker/login-action@v3
with:
registry: docker.office.clintonambulance.com
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
uses: https://github.com/docker/build-push-action@v5
env:
DOCKER_HOST: unix:///var/run/docker.sock
with:
context: .
file: frontend/Dockerfile
push: true
platforms: linux/arm64
tags: |
docker.office.clintonambulance.com/registry-cli:${{ gitea.sha }}
docker.office.clintonambulance.com/registry-cli:latest

View File

@@ -1,4 +1,4 @@
FROM python:2.7-alpine
FROM python:alpine
ADD requirements-build.txt /

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
######
# github repository: https://github.com/andrey-pohilko/registry-cli
@@ -8,7 +8,8 @@
import requests
import ast
from requests.packages.urllib3.exceptions import InsecureRequestWarning
import urllib3
from urllib3.exceptions import InsecureRequestWarning
import json
import pprint
import base64
@@ -148,7 +149,7 @@ def decode_base64(data):
missing_padding = len(data) % 4
if missing_padding != 0:
data += b'='* (4 - missing_padding)
return base64.decodestring(data)
return base64.decodebytes(data.encode() if isinstance(data, str) else data)
def get_error_explanation(context, error_code):
@@ -753,7 +754,7 @@ def main_loop(args):
keep_last_versions = int(args.num)
if args.no_validate_ssl:
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
urllib3.disable_warnings(InsecureRequestWarning)
if args.read_password:
if args.login is None:

View File

@@ -1,7 +1,7 @@
certifi==2017.7.27.1
chardet==3.0.4
certifi>=2017.7.27.1
chardet>=3.0.4
idna>=2.5
python-dateutil==2.8.0
python-dateutil>=2.8.0
requests>=2.20.0
urllib3>=1.23
www-authenticate==0.9.2
www-authenticate>=0.9.2

View File

@@ -1,4 +1,3 @@
mock
coverage
certifi
chardet

View File

@@ -7,7 +7,7 @@ from dateutil.tz import tzutc, tzoffset
from registry import Registry, Requests, get_tags, parse_args, \
delete_tags, delete_tags_by_age, get_error_explanation, get_newer_tags, \
keep_images_like, main_loop, get_datetime_tags, get_ordered_tags
from mock import MagicMock, patch
from unittest.mock import MagicMock, patch
import requests