11 Commits
v2.0.1 ... main

Author SHA1 Message Date
20e0155e8c fix pipe
All checks were successful
continuous-integration/drone/push Build is passing
2025-03-29 18:31:58 +01:00
dcb47da9f7 fix pipe
Some checks failed
continuous-integration/drone/push Build is failing
2025-03-29 18:28:53 +01:00
be642e2c4d fix pipe
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2025-03-29 18:26:16 +01:00
46585688c6 update pipeline
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2025-03-29 18:22:57 +01:00
837235524a fix pipe
Some checks failed
continuous-integration/drone/push Build is failing
2025-03-29 17:52:32 +01:00
92223686ff fix pipe...
Some checks failed
continuous-integration/drone/push Build is failing
2025-03-29 17:46:50 +01:00
8a9583e3a3 fix pipe???
All checks were successful
continuous-integration/drone/push Build is passing
2025-03-29 17:41:49 +01:00
1fb403fd64 fix pipe
All checks were successful
continuous-integration/drone/push Build is passing
2025-03-29 17:37:39 +01:00
fb01815c85 fix yaml
Some checks failed
continuous-integration/drone/tag Build is failing
2025-03-29 17:30:59 +01:00
9c11f1705c also push to latest
Some checks reported errors
continuous-integration/drone/tag Build encountered an error
2025-03-29 17:27:50 +01:00
aad30fda0f also push to latest
All checks were successful
continuous-integration/drone/tag Build is passing
2025-03-29 17:18:32 +01:00
2 changed files with 103 additions and 55 deletions

View File

@@ -1,84 +1,130 @@
---
kind: pipeline
type: kubernetes
name: linux-amd64
platform:
os: linux
arch: amd64
name: amd64-main
node_selector: # Ensure this runs on an amd64 runner
kubernetes.io/arch: amd64
trigger: # Only run on pushes to the main branch
event: [ push ]
branch: [ main ]
steps:
- name: build_push_amd64_latest
image: plugins/docker # Use Docker plugin to build and push image
settings:
repo: bottledpills/deluge-openvpn
dockerfile: docker/Dockerfile.amd64
tags:
- latest-linux-amd64 # Tag for amd64 variant (main branch → "latest")
username:
from_secret: docker_username # Docker registry credentials (secret)
password:
from_secret: docker_password
---
kind: pipeline
type: kubernetes
name: arm64-main
node_selector: # Ensure this runs on an arm64 runner
kubernetes.io/arch: arm64
trigger: # Only run on pushes to the main branch
event: [ push ]
branch: [ main ]
steps:
- name: build_push_arm64_latest
image: plugins/docker
settings:
repo: bottledpills/deluge-openvpn
dockerfile: docker/Dockerfile.arm64
tags:
- latest-linux-arm64 # Tag for arm64 variant (main branch → "latest")
username:
from_secret: docker_username
password:
from_secret: docker_password
---
kind: pipeline
type: kubernetes
name: amd64-tag
node_selector:
kubernetes.io/arch: amd64
trigger:
event:
- tag
trigger: # Only run on creation of Git tags (releases)
event: [ tag ]
steps:
- name: docker
- name: build_push_amd64_version
image: plugins/docker
settings:
repo: bottledpills/deluge-openvpn
dockerfile: docker/Dockerfile.amd64
# Use Drone env substitution to strip the leading "v" from the tag [oai_citation_attribution:0‡docs.drone.io](https://docs.drone.io/pipeline/environment/substitution/#:~:text=,0)
tags:
- ${DRONE_TAG##v}-linux-amd64 # e.g. "v2.0.1" → "2.0.1-linux-amd64"
username:
from_secret: docker_username
password:
from_secret: docker_password
repo: bottledpills/deluge-openvpn
auto_tag: true
auto_tag_suffix: linux-amd64
platform: 'linux/amd64'
tags:
- latest
---
kind: pipeline
type: kubernetes
name: linux-arm64
platform:
os: linux
arch: arm64
name: arm64-tag
node_selector:
kubernetes.io/arch: arm64
trigger:
event:
- tag
trigger: # Only run on creation of Git tags (releases)
event: [ tag ]
steps:
- name: docker
- name: build_push_arm64_version
image: plugins/docker
settings:
repo: bottledpills/deluge-openvpn
dockerfile: docker/Dockerfile.arm64
tags:
- ${DRONE_TAG##v}-linux-arm64 # e.g. "v2.0.1" → "2.0.1-linux-arm64"
username:
from_secret: docker_username
password:
from_secret: docker_password
repo: bottledpills/deluge-openvpn
auto_tag: true
auto_tag_suffix: linux-arm64
platform: 'linux/arm64'
tags:
- latest
---
kind: pipeline
type: kubernetes
name: manifest
platform:
os: linux
arch: arm64
name: manifest-main
# The manifest step can run on either architecture; we'll use amd64 for consistency
node_selector:
kubernetes.io/arch: arm64
trigger:
event:
- tag
kubernetes.io/arch: amd64
trigger: # Run on main branch pushes (to create "latest" manifest)
event: [ push ]
branch: [ main ]
depends_on: # Wait for both arch images to be built and pushed
- amd64-main
- arm64-main
steps:
- name: manifest
- name: push_manifest_latest
image: plugins/manifest # Drone manifest plugin to create multi-arch manifest
settings:
username:
from_secret: docker_username
password:
from_secret: docker_password
spec: docker/manifest.tmpl # Use external manifest template for tags and images
---
kind: pipeline
type: kubernetes
name: manifest-tag
node_selector:
kubernetes.io/arch: amd64
trigger: # Run on tag events (to create versioned manifest)
event: [ tag ]
depends_on:
- amd64-tag
- arm64-tag
steps:
- name: push_manifest_version
image: plugins/manifest
settings:
spec: docker/manifest.tmpl
username:
from_secret: docker_username
password:
from_secret: docker_password
auto_tag: true
ignore_missing: true
tags:
- latest
depends_on:
- linux-amd64
- linux-arm64
spec: docker/manifest.tmpl # Same template handles both latest and version tags

View File

@@ -1,12 +1,14 @@
# docker/manifest.tmpl
image: bottledpills/deluge-openvpn:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
manifests:
-
image: bottledpills/deluge-openvpn:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64
platform:
architecture: amd64
os: linux
-
image: bottledpills/deluge-openvpn:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm64
platform:
architecture: arm64
os: linux
- image: bottledpills/deluge-openvpn:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64
platform:
architecture: amd64
os: linux
- image: bottledpills/deluge-openvpn:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm64
platform:
architecture: arm64
os: linux
variant: v8