Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"extends": ["config:base"],
"regexManagers": [
{
"fileMatch": ["^requirements\\.txt$"],
"matchStrings": [
"^(?<depName>[a-zA-Z0-9\\-_]+)==(?<currentValue>[a-zA-Z0-9\\.]+) --hash=sha256:(?<hash>[a-fA-F0-9]{64})$"
],
"datasourceTemplate": "pypi",
"depNameTemplate": "{{depName}}"
}
]
}
62 changes: 62 additions & 0 deletions .woodpecker/build-s3cmd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
variables:
- &build_vars
DOCKER_URL: "docker.io"
DOCKER_USERNAME:
from_secret: docker_username
DOCKER_PASSWORD:
from_secret: docker_password
QUAY_URL: "quay.io"
QUAY_USERNAME:
from_secret: quay_username
QUAY_PASSWORD:
from_secret: quay_password

when:
- event: push
path: 's3cmd/*'
- event: push
path: '.woodpecker/*'
- event: cron

matrix:
include:
- platform: linux/amd64
clone_image: woodpeckerci/plugin-git
build_image: docker
socket_mount: /var/run/docker.sock:/var/run/docker.sock
- platform: windows/amd64
clone_image: opencloudeu/woodpecker-windows-git-plugin:v2
build_image: winamd64/docker:windowsservercore-ltsc2022
socket_mount: \\.\pipe\docker_engine\:\\.\pipe\docker_engine\

labels:
platform: ${platform}
backend: docker

clone:
- name: clone
image: ${clone_image}

steps:
- name: build windows
when:
- matrix:
platform: windows/amd64
image: ${build_image}
volumes:
- ${socket_mount}
environment: *build_vars
commands:
- .woodpecker/build.ps1

- name: build linux
when:
- matrix:
platform: linux/amd64
image: ${build_image}
volumes:
- ${socket_mount}
environment: *build_vars
commands:
- sh .woodpecker/build.sh
34 changes: 34 additions & 0 deletions .woodpecker/build.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
$date = get-date -format FileDate
$DOCKER_URL = $env:DOCKER_URL
$DOCKER_USERNAME = $env:DOCKER_USERNAME
$DOCKER_PASSWORD = $env:DOCKER_PASSWORD
$QUAY_URL = $env:QUAY_URL
$QUAY_USERNAME = $env:QUAY_USERNAME
$QUAY_PASSWORD = $env:QUAY_PASSWORD

docker login "$DOCKER_URL" --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD"
docker login "$QUAY_URL" --username "$QUAY_USERNAME" --password "$QUAY_PASSWORD"
cd s3cmd

docker build . -f Dockerfile -t opencloudeu/s3cmd:w-v$date
docker tag opencloudeu/s3cmd:w-v$date opencloudeu/s3cmd:w-v1
docker tag opencloudeu/s3cmd:w-v$date $DOCKER_URL/opencloudeu/s3cmd:w-v$date
docker tag opencloudeu/s3cmd:w-v$date $DOCKER_URL/opencloudeu/s3cmd:w-v1
docker tag opencloudeu/s3cmd:w-v$date $QUAY_URL/opencloudeu/s3cmd:w-v$date
docker tag opencloudeu/s3cmd:w-v$date $QUAY_URL/opencloudeu/s3cmd:w-v1

docker push opencloudeu/s3cmd:w-v$date
docker push opencloudeu/s3cmd:w-v1
docker push $DOCKER_URL/opencloudeu/s3cmd:w-v$date
docker push $DOCKER_URL/opencloudeu/s3cmd:w-v1
docker push $QUAY_URL/opencloudeu/s3cmd:w-v$date
docker push $QUAY_URL/opencloudeu/s3cmd:w-v1

docker manifest create -a opencloudeu/s3cmd:v1 opencloudeu/s3cmd:l-v1 opencloudeu/s3cmd:w-v1
docker manifest push opencloudeu/s3cmd:v1

docker manifest create -a $DOCKER_URL/opencloudeu/s3cmd:v1 $DOCKER_URL/opencloudeu/s3cmd:l-v1 $DOCKER_URL/opencloudeu/s3cmd:w-v1
docker manifest push $DOCKER_URL/opencloudeu/s3cmd:v1

docker manifest create -a $QUAY_URL/opencloudeu/s3cmd:v1 $QUAY_URL/opencloudeu/s3cmd:l-v1 $QUAY_URL/opencloudeu/s3cmd:w-v1
docker manifest push $QUAY_URL/opencloudeu/s3cmd:v1
28 changes: 28 additions & 0 deletions .woodpecker/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
date=$(date +%Y%m%d)

echo "$DOCKER_PASSWORD" | docker login "$DOCKER_URL" --username "$DOCKER_USERNAME" --password-stdin
echo "$QUAY_PASSWORD" | docker login "$QUAY_URL" --username "$QUAY_USERNAME" --password-stdin
cd s3cmd

docker build . -f Dockerfile -t opencloudeu/s3cmd:l-v$date
docker tag opencloudeu/s3cmd:l-v$date opencloudeu/s3cmd:l-v1
docker tag opencloudeu/s3cmd:l-v$date $DOCKER_URL/opencloudeu/s3cmd:l-v$date
docker tag opencloudeu/s3cmd:l-v$date $DOCKER_URL/opencloudeu/s3cmd:l-v1
docker tag opencloudeu/s3cmd:l-v$date $QUAY_URL/opencloudeu/s3cmd:l-v$date
docker tag opencloudeu/s3cmd:l-v$date $QUAY_URL/opencloudeu/s3cmd:l-v1

docker push opencloudeu/s3cmd:l-v$date
docker push opencloudeu/s3cmd:l-v1
docker push $DOCKER_URL/opencloudeu/s3cmd:l-v$date
docker push $DOCKER_URL/opencloudeu/s3cmd:l-v1
docker push $QUAY_URL/opencloudeu/s3cmd:l-v$date
docker push $QUAY_URL/opencloudeu/s3cmd:l-v1

docker manifest create -a opencloudeu/s3cmd:v1 opencloudeu/s3cmd:l-v1 opencloudeu/s3cmd:w-v1
docker manifest push opencloudeu/s3cmd:v1

docker manifest create -a $DOCKER_URL/opencloudeu/s3cmd:v1 $DOCKER_URL/opencloudeu/s3cmd:l-v1 $DOCKER_URL/opencloudeu/s3cmd:w-v1
docker manifest push $DOCKER_URL/opencloudeu/s3cmd:v1

docker manifest create -a $QUAY_URL/opencloudeu/s3cmd:v1 $QUAY_URL/opencloudeu/s3cmd:l-v1 $QUAY_URL/opencloudeu/s3cmd:w-v1
docker manifest push $QUAY_URL/opencloudeu/s3cmd:v1
16 changes: 16 additions & 0 deletions s3cmd/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#escape=`

# This Dockerfile will be build on Windows and Linux
# It will rename the s3cmd script to s3cmd.py on Windows
# Afterwards "s3cmd" will be available as a global command
FROM python:3

LABEL maintainer="OpenCloud.eu Team <devops@opencloud.eu>" `
name="opencloudeu/s3cmd" `
vendor="OpenCloud GmbH" `
source="https://github.com/opencloud-eu/ci-docker-desktop"

COPY . .

RUN python -m pip install -r requirements.txt ; `
python rename_script.py
5 changes: 5 additions & 0 deletions s3cmd/rename_script.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import os
if os.name == 'nt':
# rename file on windows to make sure it runs as python script
os.rename('/Python/Scripts/s3cmd', '/Python/Scripts/s3cmd.py')
exit(0)
4 changes: 4 additions & 0 deletions s3cmd/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
python-magic==0.4.27 --hash=sha256:c212960ad306f700aa0d01e5d7a325d20548ff97eb9920dcd29513174f0294d3
six==1.17.0 --hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274
python-dateutil==2.9.0.post0 --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
s3cmd==2.4.0 --hash=sha256:13ad8a44d44cc0535ba8c878c91fd68cd830dc48f6388722fa44a7aaf3f18017