Skip to main content
Version: Next

Migrations

Some versions need some changes to the server configuration or the pipeline configuration files.

1.0.0

  • The signature used to verify extensions calls (like those used for the config-extension) done by the Woodpecker server switched from using a shared-secret HMac to an ed25519 key-pair. Read more about it at the config-extensions documentation.
  • Refactored support of old agent filter labels and expression. Learn how to use the new filter
  • Renamed step environment variable CI_SYSTEM_ARCH to CI_SYSTEM_PLATFORM. Same applies for the cli exec variable.
  • Renamed environment variables CI_BUILD_* and CI_PREV_BUILD_* to CI_PIPELINE_* and CI_PREV_PIPELINE_*, old ones are still available but deprecated
  • Renamed environment variables CI_JOB_* to CI_STEP_*, old ones are still available but deprecated
  • Renamed environment variable CI_REPO_REMOTE to CI_REPO_CLONE_URL
  • Renamed API endpoints for pipelines (<owner>/<repo>/builds/<buildId> -> <owner>/<repo>/pipelines/<pipelineId>), old ones are still available but deprecated
  • Updated Prometheus gauge build_* to pipeline_*
  • Updated Prometheus gauge *_job_* to *_step_*
  • Renamed config env WOODPECKER_MAX_PROCS to WOODPECKER_MAX_WORKFLOWS (still available as fallback)
  • The pipelines are now also read from .yaml files, the new default order is .woodpecker/*.yml and .woodpecker/*.yaml (without any prioritization) -> .woodpecker.yml -> .woodpecker.yaml -> .drone.yml

0.15.0

  • Default value for custom pipeline path is now empty / un-set which results in following resolution:

    .woodpecker/*.yml -> .woodpecker.yml -> .drone.yml

    Only projects created after updating will have an empty value by default. Existing projects will stick to the current pipeline path which is .drone.yml in most cases.

    Read more about it at the Project Settings

  • From version 0.15.0 ongoing there will be three types of docker images: latest, next and x.x.x with an alpine variant for each type like latest-alpine. If you used latest before to try pre-release features you should switch to next after this release.

  • Dropped support for DRONE_* environment variables. The according WOODPECKER_* variables must be used instead. Additionally some alternative namings have been removed to simplify maintenance:

    • WOODPECKER_AGENT_SECRET replaces WOODPECKER_SECRET, DRONE_SECRET, WOODPECKER_PASSWORD, DRONE_PASSWORD and DRONE_AGENT_SECRET.
    • WOODPECKER_HOST replaces DRONE_HOST and DRONE_SERVER_HOST.
    • WOODPECKER_DATABASE_DRIVER replaces DRONE_DATABASE_DRIVER and DATABASE_DRIVER.
    • WOODPECKER_DATABASE_DATASOURCE replaces DRONE_DATABASE_DATASOURCE and DATABASE_CONFIG.
  • Dropped support for DRONE_* environment variables in pipeline steps. Pipeline meta-data can be accessed with CI_* variables.

    • CI_* prefix replaces DRONE_*
    • CI value is now woodpecker
    • DRONE=true has been removed
    • Some variables got deprecated and will be removed in future versions. Please migrate to the new names. Same applies for DRONE_ of them.
      • CI_ARCH => use CI_SYSTEM_ARCH
      • CI_COMMIT => CI_COMMIT_SHA
      • CI_TAG => CI_COMMIT_TAG
      • CI_PULL_REQUEST => CI_COMMIT_PULL_REQUEST
      • CI_REMOTE_URL => use CI_REPO_REMOTE
      • CI_REPO_BRANCH => use CI_REPO_DEFAULT_BRANCH
      • CI_PARENT_BUILD_NUMBER => use CI_BUILD_PARENT
      • CI_BUILD_TARGET => use CI_BUILD_DEPLOY_TARGET
      • CI_DEPLOY_TO => use CI_BUILD_DEPLOY_TARGET
      • CI_COMMIT_AUTHOR_NAME => use CI_COMMIT_AUTHOR
      • CI_PREV_COMMIT_AUTHOR_NAME => use CI_PREV_COMMIT_AUTHOR
      • CI_SYSTEM => use CI_SYSTEM_NAME
      • CI_BRANCH => use CI_COMMIT_BRANCH
      • CI_SOURCE_BRANCH => use CI_COMMIT_SOURCE_BRANCH
      • CI_TARGET_BRANCH => use CI_COMMIT_TARGET_BRANCH

    For all available variables and their descriptions have a look at built-in-environment-variables.

  • Prometheus metrics have been changed from drone_* to woodpecker_*

  • Base path has moved from /var/lib/drone to /var/lib/woodpecker

  • Default workspace base path has moved from /drone to /woodpecker

  • Default SQLite database location has changed:

    • /var/lib/drone/drone.sqlite -> /var/lib/woodpecker/woodpecker.sqlite
    • drone.sqlite -> woodpecker.sqlite
  • Plugin Settings moved into settings section:

     pipeline:
    something:
    image: my/plugin
    - setting1: foo
    - setting2: bar
    + settings:
    + setting1: foo
    + setting2: bar
  • WOODPECKER_DEBUG option for server and agent got removed in favor of WOODPECKER_LOG_LEVEL=debug

  • Remove unused server flags which can safely be removed from your server config: WOODPECKER_QUIC, WOODPECKER_GITHUB_SCOPE, WOODPECKER_GITHUB_GIT_USERNAME, WOODPECKER_GITHUB_GIT_PASSWORD, WOODPECKER_GITHUB_PRIVATE_MODE, WOODPECKER_GITEA_GIT_USERNAME, WOODPECKER_GITEA_GIT_PASSWORD, WOODPECKER_GITEA_PRIVATE_MODE, WOODPECKER_GITLAB_GIT_USERNAME, WOODPECKER_GITLAB_GIT_PASSWORD, WOODPECKER_GITLAB_PRIVATE_MODE

  • Dropped support for manually setting the agents platform with WOODPECKER_PLATFORM. The platform is now automatically detected.

  • Use WOODPECKER_STATUS_CONTEXT instead of the deprecated options WOODPECKER_GITHUB_CONTEXT and WOODPECKER_GITEA_CONTEXT.

0.14.0

No breaking changes