pleroma/.woodpecker/spec-build.yaml

103 lines
2.7 KiB
YAML

when:
- event: push
branch: ${CI_REPO_DEFAULT_BRANCH}
path:
- ".woodpecker/spec-build.yaml"
- "mix.exs"
- "mix.lock"
- "lib/pleroma/web.ex"
- "lib/pleroma/web/**/*.ex"
- event: tag
- event: manual
evaluate: 'CI_COMMIT_BRANCH == "stable" || CI_COMMIT_BRANCH == CI_REPO_DEFAULT_BRANCH'
labels:
platform: linux/amd64
concurrency: 1
variables:
artifacts_uploader_image: &artifacts_uploader_image docker.io/woodpeckercommunity/plugin-gitea-package:0.5.1
artifacts_uploader_settings: &artifacts_uploader_settings
user:
from_secret: pleroma-ci-user
password:
from_secret: pleroma-ci-password
owner: 'pleroma'
package_name: api-docs-spec
file_source: ./spec.json
file_name: spec.json
update: 'true'
trigger_image: &trigger_image docker.io/woodpeckerci/plugin-trigger:1.1.1
trigger_settings: &trigger_settings
deploy: 'api-docs'
last-successful: true
token:
from_secret: pleroma-ci-woodpecker-token
repositories:
- pleroma/api-docs@master
steps:
build-spec:
image: docker.io/hexpm/elixir:1.17.3-erlang-27.3.4.17-alpine-3.22.5
environment:
MIX_ENV: prod
VIX_COMPILATION_MODE: PLATFORM_PROVIDED_LIBVIPS
commands:
- apk update --no-cache
- apk add git build-base cmake file-dev openssl vips-dev zip
- mix local.hex --force
- mix local.rebar --force
- mix deps.get --only prod
- mix pleroma.openapi_spec spec.json
- |
printf 'BRANCH=stable\nSPEC_VERSION=%s\n' "$${CI_COMMIT_SHA}" > trigger-deploy-stable.params
printf 'BRANCH=develop\nSPEC_VERSION=%s\n' "$${CI_COMMIT_SHA}" > trigger-deploy-develop.params
upload-spec:
image: *artifacts_uploader_image
settings:
<<: *artifacts_uploader_settings
package_version: ${CI_COMMIT_SHA}
upload-spec-stable:
when:
- event: tag
- event: manual
branch: stable
image: *artifacts_uploader_image
settings:
<<: *artifacts_uploader_settings
package_version: stable
upload-spec-develop:
when:
- event: push
- event: manual
branch: ${CI_REPO_DEFAULT_BRANCH}
image: *artifacts_uploader_image
settings:
<<: *artifacts_uploader_settings
package_version: develop
trigger-deploy-stable:
when:
- event: tag
- event: manual
branch: stable
image: *trigger_image
settings:
<<: *trigger_settings
params:
- trigger-deploy-stable.params
trigger-deploy-develop:
when:
- event: push
- event: manual
branch: ${CI_REPO_DEFAULT_BRANCH}
image: *trigger_image
settings:
<<: *trigger_settings
params:
- trigger-deploy-develop.params