81 lines
1.9 KiB
YAML
81 lines
1.9 KiB
YAML
|
platform: linux/amd64
|
||
|
|
||
|
when:
|
||
|
event: tag
|
||
|
|
||
|
depends_on:
|
||
|
- testing-amd64
|
||
|
|
||
|
variables:
|
||
|
- &git_image 'docker:git'
|
||
|
- &dind_image 'docker:20.10-dind'
|
||
|
- &buildx_image 'woodpeckerci/plugin-docker-buildx:2.0.0'
|
||
|
- &integration_image 'codeberg.org/forgejo-integration/forgejo'
|
||
|
- &dockerfile_root 'Dockerfile'
|
||
|
# for testing purposes
|
||
|
# - &dockerfile_root 'releases/Dockerfile'
|
||
|
- &dockerfile_rootless 'Dockerfile.rootless'
|
||
|
# for testing purposes
|
||
|
# - &dockerfile_rootless 'releases/Dockerfile-rootless'
|
||
|
- &verify 'true'
|
||
|
# for testing purposes
|
||
|
# - &verify 'false'
|
||
|
- &archs 'amd64 arm64'
|
||
|
|
||
|
pipeline:
|
||
|
fetch-tags:
|
||
|
image: *git_image
|
||
|
pull: true
|
||
|
commands:
|
||
|
- git config --add safe.directory '*'
|
||
|
- git fetch --tags --force
|
||
|
|
||
|
build-root:
|
||
|
image: *buildx_image
|
||
|
group: integration
|
||
|
pull: true
|
||
|
settings:
|
||
|
platforms: linux/amd64,linux/arm64
|
||
|
dockerfile: *dockerfile_root
|
||
|
registry:
|
||
|
from_secret: domain
|
||
|
tag: ${CI_COMMIT_TAG##v}
|
||
|
repo: *integration_image
|
||
|
build_args:
|
||
|
- GOPROXY=https://proxy.golang.org
|
||
|
password:
|
||
|
from_secret: releaseteamtoken
|
||
|
username:
|
||
|
from_secret: releaseteamuser
|
||
|
|
||
|
build-rootless:
|
||
|
image: *buildx_image
|
||
|
group: integration
|
||
|
pull: true
|
||
|
settings:
|
||
|
platforms: linux/amd64,linux/arm64
|
||
|
dockerfile: *dockerfile_rootless
|
||
|
registry:
|
||
|
from_secret: domain
|
||
|
tag: ${CI_COMMIT_TAG##v}-rootless
|
||
|
repo: *integration_image
|
||
|
build_args:
|
||
|
- GOPROXY=https://proxy.golang.org
|
||
|
password:
|
||
|
from_secret: releaseteamtoken
|
||
|
username:
|
||
|
from_secret: releaseteamuser
|
||
|
|
||
|
publish:
|
||
|
image: *dind_image
|
||
|
environment:
|
||
|
INTEGRATION_IMAGE: *integration_image
|
||
|
VERIFY: *verify
|
||
|
ARCHS: *archs
|
||
|
commands:
|
||
|
- ./releases/container-images-pull-verify-push.sh
|
||
|
secrets:
|
||
|
- releaseteamtoken
|
||
|
- releaseteamuser
|
||
|
- domain
|