mirror of
https://github.com/bunkerity/bunkerized-nginx
synced 2023-12-13 21:30:18 +01:00
ci/cd - refactoring
This commit is contained in:
parent
1cc9f57739
commit
1c74c5d8d5
3 changed files with 162 additions and 372 deletions
471
.github/workflows/beta.yml
vendored
471
.github/workflows/beta.yml
vendored
|
@ -7,119 +7,43 @@ on:
|
||||||
branches: [beta]
|
branches: [beta]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# Build BW amd64 + i386 images
|
|
||||||
build-bw-amd64:
|
# Build amd64 + 386 containers images
|
||||||
|
build-containers:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
image: [bunkerweb, scheduler, autoconf, ui]
|
||||||
|
arch: [linux/amd64, linux/386]
|
||||||
|
include:
|
||||||
|
- release: beta
|
||||||
|
cache: false
|
||||||
|
push: false
|
||||||
|
- image: bunkerweb
|
||||||
|
dockerfile: src/bw/Dockerfile
|
||||||
|
- image: scheduler
|
||||||
|
dockerfile: src/scheduler/Dockerfile
|
||||||
|
- image: autoconf
|
||||||
|
dockerfile: src/autoconf/Dockerfile
|
||||||
|
- image: ui
|
||||||
|
dockerfile: src/ui/Dockerfile
|
||||||
|
- arch: linux/amd64
|
||||||
|
cache_suffix: amd64
|
||||||
|
- arch: linux/386
|
||||||
|
cache_suffix: "386"
|
||||||
uses: ./.github/workflows/container-build.yml
|
uses: ./.github/workflows/container-build.yml
|
||||||
with:
|
with:
|
||||||
RELEASE: beta
|
RELEASE: ${{ matrix.release }}
|
||||||
ARCH: linux/amd64
|
ARCH: ${{ matrix.arch }}
|
||||||
IMAGE: bunkerweb
|
IMAGE: ${{ matrix.image }}
|
||||||
DOCKERFILE: src/bw/Dockerfile
|
DOCKERFILE: ${{ matrix.dockerfile }}
|
||||||
CACHE: false
|
CACHE: ${{ matrix.cache }}
|
||||||
PUSH: false
|
PUSH: ${{ matrix.push }}
|
||||||
CACHE_SUFFIX: "amd64"
|
CACHE_SUFFIX: ${{ matrix.cache_suffix }}
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
build-bw-386:
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
ARCH: linux/386
|
|
||||||
IMAGE: bunkerweb
|
|
||||||
DOCKERFILE: src/bw/Dockerfile
|
|
||||||
CACHE: false
|
|
||||||
PUSH: false
|
|
||||||
CACHE_SUFFIX: "386"
|
|
||||||
secrets:
|
secrets:
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
||||||
|
|
||||||
# Build SC amd64 + i386 images
|
# Create ARM environment
|
||||||
build-sc-amd64:
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
ARCH: linux/amd64
|
|
||||||
IMAGE: scheduler
|
|
||||||
DOCKERFILE: src/scheduler/Dockerfile
|
|
||||||
CACHE: false
|
|
||||||
PUSH: false
|
|
||||||
CACHE_SUFFIX: "amd64"
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
build-sc-386:
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
ARCH: linux/386
|
|
||||||
IMAGE: scheduler
|
|
||||||
DOCKERFILE: src/scheduler/Dockerfile
|
|
||||||
CACHE: false
|
|
||||||
PUSH: false
|
|
||||||
CACHE_SUFFIX: "386"
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
|
|
||||||
# Build AU amd64 + i386 images
|
|
||||||
build-au-amd64:
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
ARCH: linux/amd64
|
|
||||||
IMAGE: autoconf
|
|
||||||
DOCKERFILE: src/autoconf/Dockerfile
|
|
||||||
CACHE: false
|
|
||||||
PUSH: false
|
|
||||||
CACHE_SUFFIX: "amd64"
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
build-au-386:
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
ARCH: linux/386
|
|
||||||
IMAGE: autoconf
|
|
||||||
DOCKERFILE: src/autoconf/Dockerfile
|
|
||||||
CACHE: false
|
|
||||||
PUSH: false
|
|
||||||
CACHE_SUFFIX: "386"
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
|
|
||||||
# Build UI amd64 + i386 images
|
|
||||||
build-ui-amd64:
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
ARCH: linux/amd64
|
|
||||||
IMAGE: ui
|
|
||||||
DOCKERFILE: src/ui/Dockerfile
|
|
||||||
CACHE: false
|
|
||||||
PUSH: false
|
|
||||||
CACHE_SUFFIX: "amd64"
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
build-ui-386:
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
ARCH: linux/386
|
|
||||||
IMAGE: ui
|
|
||||||
DOCKERFILE: src/ui/Dockerfile
|
|
||||||
CACHE: false
|
|
||||||
PUSH: false
|
|
||||||
CACHE_SUFFIX: "386"
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
|
|
||||||
# Build arm64 + arm/v7 images
|
|
||||||
create-arm:
|
create-arm:
|
||||||
uses: ./.github/workflows/create-arm.yml
|
uses: ./.github/workflows/create-arm.yml
|
||||||
secrets:
|
secrets:
|
||||||
|
@ -129,68 +53,36 @@ jobs:
|
||||||
SCW_DEFAULT_ORGANIZATION_ID: ${{ secrets.SCW_DEFAULT_ORGANIZATION_ID }}
|
SCW_DEFAULT_ORGANIZATION_ID: ${{ secrets.SCW_DEFAULT_ORGANIZATION_ID }}
|
||||||
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
|
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
|
||||||
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
|
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
|
||||||
build-bw-arm:
|
|
||||||
|
# Build arm64 + arm/v7 images
|
||||||
|
build-containers-arm:
|
||||||
needs: [create-arm]
|
needs: [create-arm]
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
image: [bunkerweb, scheduler, autoconf, ui]
|
||||||
|
arch: ["linux/arm64,linux/arm/v7"]
|
||||||
|
include:
|
||||||
|
- release: beta
|
||||||
|
cache: false
|
||||||
|
push: false
|
||||||
|
cache_suffix: arm
|
||||||
|
- image: bunkerweb
|
||||||
|
dockerfile: src/bw/Dockerfile
|
||||||
|
- image: scheduler
|
||||||
|
dockerfile: src/scheduler/Dockerfile
|
||||||
|
- image: autoconf
|
||||||
|
dockerfile: src/autoconf/Dockerfile
|
||||||
|
- image: ui
|
||||||
|
dockerfile: src/ui/Dockerfile
|
||||||
uses: ./.github/workflows/container-build.yml
|
uses: ./.github/workflows/container-build.yml
|
||||||
with:
|
with:
|
||||||
RELEASE: beta
|
RELEASE: ${{ matrix.release }}
|
||||||
ARCH: linux/arm64,linux/arm/v7
|
ARCH: ${{ matrix.arch }}
|
||||||
IMAGE: bunkerweb
|
IMAGE: ${{ matrix.image }}
|
||||||
DOCKERFILE: src/bw/Dockerfile
|
DOCKERFILE: ${{ matrix.dockerfile }}
|
||||||
CACHE: false
|
CACHE: ${{ matrix.cache }}
|
||||||
PUSH: false
|
PUSH: ${{ matrix.push }}
|
||||||
CACHE_SUFFIX: "arm"
|
CACHE_SUFFIX: ${{ matrix.cache_suffix }}
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
|
|
||||||
ARM_SSH_IP: ${{ needs.create-arm.outputs.ip }}
|
|
||||||
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
|
|
||||||
build-sc-arm:
|
|
||||||
needs: [create-arm]
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
ARCH: linux/arm64,linux/arm/v7
|
|
||||||
IMAGE: scheduler
|
|
||||||
DOCKERFILE: src/scheduler/Dockerfile
|
|
||||||
CACHE: false
|
|
||||||
PUSH: false
|
|
||||||
CACHE_SUFFIX: "arm"
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
|
|
||||||
ARM_SSH_IP: ${{ needs.create-arm.outputs.ip }}
|
|
||||||
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
|
|
||||||
build-au-arm:
|
|
||||||
needs: [create-arm]
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
ARCH: linux/arm64,linux/arm/v7
|
|
||||||
IMAGE: autoconf
|
|
||||||
DOCKERFILE: src/autoconf/Dockerfile
|
|
||||||
CACHE: false
|
|
||||||
PUSH: false
|
|
||||||
CACHE_SUFFIX: "arm"
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
|
|
||||||
ARM_SSH_IP: ${{ needs.create-arm.outputs.ip }}
|
|
||||||
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
|
|
||||||
build-ui-arm:
|
|
||||||
needs: [create-arm]
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
ARCH: linux/arm64,linux/arm/v7
|
|
||||||
IMAGE: ui
|
|
||||||
DOCKERFILE: src/ui/Dockerfile
|
|
||||||
CACHE: false
|
|
||||||
PUSH: false
|
|
||||||
CACHE_SUFFIX: "arm"
|
|
||||||
secrets:
|
secrets:
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
||||||
|
@ -198,57 +90,26 @@ jobs:
|
||||||
ARM_SSH_IP: ${{ needs.create-arm.outputs.ip }}
|
ARM_SSH_IP: ${{ needs.create-arm.outputs.ip }}
|
||||||
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
|
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
|
||||||
|
|
||||||
# Linux packages
|
# Build Linux packages
|
||||||
build-ubuntu:
|
build-packages:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
linux: [ubuntu, debian, fedora, rhel]
|
||||||
|
include:
|
||||||
|
- release: beta
|
||||||
|
- linux: ubuntu
|
||||||
|
package: deb
|
||||||
|
- linux: debian
|
||||||
|
package: deb
|
||||||
|
- linux: fedora
|
||||||
|
package: rpm
|
||||||
|
- linux: rhel
|
||||||
|
package: rpm
|
||||||
uses: ./.github/workflows/linux-build.yml
|
uses: ./.github/workflows/linux-build.yml
|
||||||
with:
|
with:
|
||||||
RELEASE: beta
|
RELEASE: ${{ matrix.release }}
|
||||||
LINUX: ubuntu
|
LINUX: ${{ matrix.linux }}
|
||||||
PACKAGE: deb
|
PACKAGE: ${{ matrix.package }}
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
PRIVATE_REGISTRY: ${{ secrets.PRIVATE_REGISTRY }}
|
|
||||||
PRIVATE_REGISTRY_TOKEN: ${{ secrets.PRIVATE_REGISTRY_TOKEN }}
|
|
||||||
build-debian:
|
|
||||||
uses: ./.github/workflows/linux-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
LINUX: debian
|
|
||||||
PACKAGE: deb
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
PRIVATE_REGISTRY: ${{ secrets.PRIVATE_REGISTRY }}
|
|
||||||
PRIVATE_REGISTRY_TOKEN: ${{ secrets.PRIVATE_REGISTRY_TOKEN }}
|
|
||||||
# build-centos:
|
|
||||||
# uses: ./.github/workflows/linux-build.yml
|
|
||||||
# with:
|
|
||||||
# RELEASE: beta
|
|
||||||
# LINUX: centos
|
|
||||||
# PACKAGE: rpm
|
|
||||||
# secrets:
|
|
||||||
# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
# DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
# PRIVATE_REGISTRY: ${{ secrets.PRIVATE_REGISTRY }}
|
|
||||||
# PRIVATE_REGISTRY_TOKEN: ${{ secrets.PRIVATE_REGISTRY_TOKEN }}
|
|
||||||
build-fedora:
|
|
||||||
uses: ./.github/workflows/linux-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
LINUX: fedora
|
|
||||||
PACKAGE: rpm
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
PRIVATE_REGISTRY: ${{ secrets.PRIVATE_REGISTRY }}
|
|
||||||
PRIVATE_REGISTRY_TOKEN: ${{ secrets.PRIVATE_REGISTRY_TOKEN }}
|
|
||||||
build-rhel:
|
|
||||||
uses: ./.github/workflows/linux-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: beta
|
|
||||||
LINUX: rhel
|
|
||||||
PACKAGE: rpm
|
|
||||||
secrets:
|
secrets:
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
||||||
|
@ -258,17 +119,7 @@ jobs:
|
||||||
# Wait for all builds and extract VERSION
|
# Wait for all builds and extract VERSION
|
||||||
wait-builds:
|
wait-builds:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [
|
needs: [build-containers, build-containers-arm, build-packages]
|
||||||
build-bw-amd64, build-bw-386,
|
|
||||||
build-sc-amd64, build-sc-386,
|
|
||||||
build-au-amd64, build-au-386,
|
|
||||||
build-ui-amd64, build-ui-386,
|
|
||||||
build-bw-arm, build-sc-arm, build-au-arm, build-ui-arm,
|
|
||||||
build-ubuntu,
|
|
||||||
build-debian,
|
|
||||||
build-fedora,
|
|
||||||
build-rhel
|
|
||||||
]
|
|
||||||
outputs:
|
outputs:
|
||||||
version: ${{ steps.getversion.outputs.version }}
|
version: ${{ steps.getversion.outputs.version }}
|
||||||
versionrpm: ${{ steps.getversionrpm.outputs.versionrpm }}
|
versionrpm: ${{ steps.getversionrpm.outputs.versionrpm }}
|
||||||
|
@ -283,52 +134,30 @@ jobs:
|
||||||
run: echo "versionrpm=$(cat src/VERSION | tr -d '\n' | sed 's/-/_/g')" >> "$GITHUB_OUTPUT"
|
run: echo "versionrpm=$(cat src/VERSION | tr -d '\n' | sed 's/-/_/g')" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
# Push Docker images
|
# Push Docker images
|
||||||
push-bunkerweb:
|
push-images:
|
||||||
needs: [create-arm, wait-builds]
|
needs: [create-arm, wait-builds]
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
image: [bunkerweb, bunkerweb-scheduler, bunkerweb-autoconf, bunkerweb-ui]
|
||||||
|
include:
|
||||||
|
- release: beta
|
||||||
|
- image: bunkerweb
|
||||||
|
cache_from: bunkerweb
|
||||||
|
dockerfile: src/bw/Dockerfile
|
||||||
|
- image: bunkerweb-scheduler
|
||||||
|
cache_from: scheduler
|
||||||
|
dockerfile: src/scheduler/Dockerfile
|
||||||
|
- image: bunkerweb-autoconf
|
||||||
|
cache_from: autoconf
|
||||||
|
dockerfile: src/autoconf/Dockerfile
|
||||||
|
- image: bunkerweb-ui
|
||||||
|
cache_from: ui
|
||||||
|
dockerfile: src/ui/Dockerfile
|
||||||
uses: ./.github/workflows/push-docker.yml
|
uses: ./.github/workflows/push-docker.yml
|
||||||
with:
|
with:
|
||||||
IMAGE: bunkerity/bunkerweb:beta,bunkerity/bunkerweb:${{ needs.wait-builds.outputs.version }}
|
IMAGE: bunkerity/${{ matrix.image }}:${{ matrix.release }},bunkerity/${{ matrix.image }}:${{ needs.wait-builds.outputs.version }}
|
||||||
CACHE_FROM: bunkerweb-beta
|
CACHE_FROM: ${{ matrix.cache_from }}-${{ matrix.release }}
|
||||||
DOCKERFILE: src/bw/Dockerfile
|
DOCKERFILE: ${{ matrix.dockerfile }}
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
|
|
||||||
ARM_SSH_IP: ${{ needs.create-arm.outputs.ip }}
|
|
||||||
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
|
|
||||||
push-scheduler:
|
|
||||||
needs: [create-arm, wait-builds]
|
|
||||||
uses: ./.github/workflows/push-docker.yml
|
|
||||||
with:
|
|
||||||
IMAGE: bunkerity/bunkerweb-scheduler:beta,bunkerity/bunkerweb-scheduler:${{ needs.wait-builds.outputs.version }}
|
|
||||||
CACHE_FROM: scheduler-beta
|
|
||||||
DOCKERFILE: src/scheduler/Dockerfile
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
|
|
||||||
ARM_SSH_IP: ${{ needs.create-arm.outputs.ip }}
|
|
||||||
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
|
|
||||||
push-autoconf:
|
|
||||||
needs: [create-arm, wait-builds]
|
|
||||||
uses: ./.github/workflows/push-docker.yml
|
|
||||||
with:
|
|
||||||
IMAGE: bunkerity/bunkerweb-autoconf:beta,bunkerity/bunkerweb-autoconf:${{ needs.wait-builds.outputs.version }}
|
|
||||||
CACHE_FROM: autoconf-beta
|
|
||||||
DOCKERFILE: src/autoconf/Dockerfile
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
|
|
||||||
ARM_SSH_IP: ${{ needs.create-arm.outputs.ip }}
|
|
||||||
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
|
|
||||||
push-ui:
|
|
||||||
needs: [create-arm, wait-builds]
|
|
||||||
uses: ./.github/workflows/push-docker.yml
|
|
||||||
with:
|
|
||||||
IMAGE: bunkerity/bunkerweb-ui:beta,bunkerity/bunkerweb-ui:${{ needs.wait-builds.outputs.version }}
|
|
||||||
CACHE_FROM: ui-beta
|
|
||||||
DOCKERFILE: src/ui/Dockerfile
|
|
||||||
secrets:
|
secrets:
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
||||||
|
@ -337,76 +166,54 @@ jobs:
|
||||||
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
|
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
|
||||||
|
|
||||||
# Push Linux packages
|
# Push Linux packages
|
||||||
push-ubuntu:
|
push-packages:
|
||||||
needs: [wait-builds]
|
needs: [wait-builds]
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
linux: [bubuntu, debian, fedora, el]
|
||||||
|
include:
|
||||||
|
- release: beta
|
||||||
|
repo: bunkerweb
|
||||||
|
- linux: ubuntu
|
||||||
|
separator: _
|
||||||
|
suffix: amd64
|
||||||
|
suffix2: -1_amd64
|
||||||
|
version: jammy
|
||||||
|
package: deb
|
||||||
|
- linux: debian
|
||||||
|
separator: _
|
||||||
|
suffix: amd64
|
||||||
|
suffix2: -1_amd64
|
||||||
|
version: bullseye
|
||||||
|
package: deb
|
||||||
|
- linux: fedora
|
||||||
|
separator: "-"
|
||||||
|
suffix: 1.x86_64
|
||||||
|
suffix2: -1.x86_64
|
||||||
|
version: 37
|
||||||
|
package: rpm
|
||||||
|
- linux: el
|
||||||
|
separator: "-"
|
||||||
|
suffix: 1.x86_64
|
||||||
|
suffix2: -1.x86_64
|
||||||
|
version: 8
|
||||||
|
package: rpm
|
||||||
uses: ./.github/workflows/push-packagecloud.yml
|
uses: ./.github/workflows/push-packagecloud.yml
|
||||||
with:
|
with:
|
||||||
SEPARATOR: _
|
SEPARATOR: ${{ matrix.separator }}
|
||||||
SUFFIX: amd64
|
SUFFIX: ${{ matrix.suffix }}
|
||||||
SUFFIX2: -1_amd64
|
SUFFIX2: ${{ matrix.suffix2 }}
|
||||||
REPO: bunkerweb
|
REPO: ${{ matrix.repo }}
|
||||||
LINUX: ubuntu
|
LINUX: ${{ matrix.linux }}
|
||||||
VERSION: jammy
|
VERSION: ${{ matrix.separator }}
|
||||||
PACKAGE: deb
|
PACKAGE: ${{ matrix.package }}
|
||||||
BW_VERSION: ${{ needs.wait-builds.outputs.version }}
|
BW_VERSION: ${{ $matrix.package == 'rpm' && needs.wait-builds.outputs.versionrpm || needs.wait-builds.outputs.version }}
|
||||||
secrets:
|
|
||||||
PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
|
|
||||||
push-debian:
|
|
||||||
needs: [wait-builds]
|
|
||||||
uses: ./.github/workflows/push-packagecloud.yml
|
|
||||||
with:
|
|
||||||
SEPARATOR: _
|
|
||||||
SUFFIX: amd64
|
|
||||||
SUFFIX2: -1_amd64
|
|
||||||
REPO: bunkerweb
|
|
||||||
LINUX: debian
|
|
||||||
VERSION: bullseye
|
|
||||||
PACKAGE: deb
|
|
||||||
BW_VERSION: ${{ needs.wait-builds.outputs.version }}
|
|
||||||
secrets:
|
|
||||||
PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
|
|
||||||
push-rhel:
|
|
||||||
needs: [wait-builds]
|
|
||||||
uses: ./.github/workflows/push-packagecloud.yml
|
|
||||||
with:
|
|
||||||
SEPARATOR: "-"
|
|
||||||
SUFFIX: 1.x86_64
|
|
||||||
SUFFIX2: -1.x86_64
|
|
||||||
REPO: bunkerweb
|
|
||||||
LINUX: el
|
|
||||||
VERSION: 8
|
|
||||||
PACKAGE: rpm
|
|
||||||
BW_VERSION: ${{ needs.wait-builds.outputs.versionrpm }}
|
|
||||||
secrets:
|
|
||||||
PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
|
|
||||||
push-fedora:
|
|
||||||
needs: [wait-builds]
|
|
||||||
uses: ./.github/workflows/push-packagecloud.yml
|
|
||||||
with:
|
|
||||||
SEPARATOR: "-"
|
|
||||||
SUFFIX: 1.x86_64
|
|
||||||
SUFFIX2: -1.x86_64
|
|
||||||
REPO: bunkerweb
|
|
||||||
LINUX: fedora
|
|
||||||
VERSION: 37
|
|
||||||
PACKAGE: rpm
|
|
||||||
BW_VERSION: ${{ needs.wait-builds.outputs.versionrpm }}
|
|
||||||
secrets:
|
secrets:
|
||||||
PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
|
PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
|
||||||
|
|
||||||
# Create doc PDF
|
# Create doc PDF
|
||||||
doc-pdf:
|
doc-pdf:
|
||||||
needs: [
|
needs: [wait-builds, push-images, push-packages]
|
||||||
wait-builds,
|
|
||||||
push-bunkerweb,
|
|
||||||
push-scheduler,
|
|
||||||
push-autoconf,
|
|
||||||
push-ui,
|
|
||||||
push-ubuntu,
|
|
||||||
push-debian,
|
|
||||||
push-rhel,
|
|
||||||
push-fedora
|
|
||||||
]
|
|
||||||
uses: ./.github/workflows/doc-to-pdf.yml
|
uses: ./.github/workflows/doc-to-pdf.yml
|
||||||
with:
|
with:
|
||||||
VERSION: ${{ needs.wait-builds.outputs.version }}
|
VERSION: ${{ needs.wait-builds.outputs.version }}
|
||||||
|
@ -437,7 +244,7 @@ jobs:
|
||||||
# Remove ARM VM
|
# Remove ARM VM
|
||||||
rm-arm:
|
rm-arm:
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
needs: [create-arm, push-bunkerweb, push-scheduler, push-autoconf, push-ui]
|
needs: [create-arm, push-images]
|
||||||
uses: ./.github/workflows/rm-arm.yml
|
uses: ./.github/workflows/rm-arm.yml
|
||||||
secrets:
|
secrets:
|
||||||
ARM_ID: ${{ needs.create-arm.outputs.id }}
|
ARM_ID: ${{ needs.create-arm.outputs.id }}
|
||||||
|
|
56
.github/workflows/dev.yml
vendored
56
.github/workflows/dev.yml
vendored
|
@ -9,49 +9,25 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
# Containers
|
# Containers
|
||||||
build-bw:
|
build-containers:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
image: [bunkerweb, scheduler, autoconf, ui]
|
||||||
|
include:
|
||||||
|
- image: bunkerweb
|
||||||
|
dockerfile: src/bw/Dockerfile
|
||||||
|
- image: scheduler
|
||||||
|
dockerfile: src/scheduler/Dockerfile
|
||||||
|
- image: autoconf
|
||||||
|
dockerfile: src/autoconf/Dockerfile
|
||||||
|
- image: ui
|
||||||
|
dockerfile: src/ui/Dockerfile
|
||||||
uses: ./.github/workflows/container-build.yml
|
uses: ./.github/workflows/container-build.yml
|
||||||
with:
|
with:
|
||||||
RELEASE: dev
|
RELEASE: dev
|
||||||
ARCH: linux/amd64
|
ARCH: linux/amd64
|
||||||
IMAGE: bunkerweb
|
IMAGE: ${{ matrix.image }}
|
||||||
DOCKERFILE: src/bw/Dockerfile
|
DOCKERFILE: ${{ matrix.dockerfile }}
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
PRIVATE_REGISTRY: ${{ secrets.PRIVATE_REGISTRY }}
|
|
||||||
PRIVATE_REGISTRY_TOKEN: ${{ secrets.PRIVATE_REGISTRY_TOKEN }}
|
|
||||||
build-sc:
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: dev
|
|
||||||
ARCH: linux/amd64
|
|
||||||
IMAGE: scheduler
|
|
||||||
DOCKERFILE: src/scheduler/Dockerfile
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
PRIVATE_REGISTRY: ${{ secrets.PRIVATE_REGISTRY }}
|
|
||||||
PRIVATE_REGISTRY_TOKEN: ${{ secrets.PRIVATE_REGISTRY_TOKEN }}
|
|
||||||
build-au:
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: dev
|
|
||||||
ARCH: linux/amd64
|
|
||||||
IMAGE: autoconf
|
|
||||||
DOCKERFILE: src/autoconf/Dockerfile
|
|
||||||
secrets:
|
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
|
||||||
PRIVATE_REGISTRY: ${{ secrets.PRIVATE_REGISTRY }}
|
|
||||||
PRIVATE_REGISTRY_TOKEN: ${{ secrets.PRIVATE_REGISTRY_TOKEN }}
|
|
||||||
build-ui:
|
|
||||||
uses: ./.github/workflows/container-build.yml
|
|
||||||
with:
|
|
||||||
RELEASE: dev
|
|
||||||
ARCH: linux/amd64
|
|
||||||
IMAGE: ui
|
|
||||||
DOCKERFILE: src/ui/Dockerfile
|
|
||||||
secrets:
|
secrets:
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||||
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
|
||||||
|
@ -84,7 +60,7 @@ jobs:
|
||||||
|
|
||||||
# UI tests
|
# UI tests
|
||||||
tests-ui:
|
tests-ui:
|
||||||
needs: [code-security, build-bw, build-sc, build-ui]
|
needs: [code-security, build-container]
|
||||||
uses: ./.github/workflows/tests-ui.yml
|
uses: ./.github/workflows/tests-ui.yml
|
||||||
with:
|
with:
|
||||||
RELEASE: dev
|
RELEASE: dev
|
||||||
|
|
|
@ -21,6 +21,13 @@
|
||||||
state: forcereinstall
|
state: forcereinstall
|
||||||
executable: pip3
|
executable: pip3
|
||||||
|
|
||||||
|
- name: Pin version for urllib
|
||||||
|
pip:
|
||||||
|
name: urllib3<2
|
||||||
|
state: forcereinstall
|
||||||
|
executable: pip3
|
||||||
|
extra_args:
|
||||||
|
|
||||||
- name: Init Docker Swarm
|
- name: Init Docker Swarm
|
||||||
community.general.docker_swarm:
|
community.general.docker_swarm:
|
||||||
advertise_addr: "{{ local_ip }}"
|
advertise_addr: "{{ local_ip }}"
|
||||||
|
|
Loading…
Reference in a new issue