X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=.woodpecker%2F.release.yml;h=34c7dcb37737eea8065ebdfced2cebd4a1e1e7ae;hb=6aa81ad7167f61e9239f85a24f9845d2ffb3ed26;hp=cf154dc0467fd86c7f509f6a322b16ed344f1983;hpb=ecf2cc79573860becf13e1610c24293c0bd0df82;p=akkoma diff --git a/.woodpecker/.release.yml b/.woodpecker/.release.yml index cf154dc04..34c7dcb37 100644 --- a/.woodpecker/.release.yml +++ b/.woodpecker/.release.yml @@ -1,94 +1,74 @@ -pipeline: +matrix: + docker_prefix: + - "" + - arm64v8/ + - arm32v7/ + tag: + - amd64 + - arm64 + - arm - amd64-glibc: - when: - event: - - push + include: + - tag: amd64 + docker_prefix: "" - group: release - image: elixir:1.13 - environment: - MIX_ENV: prod - commands: - - apt-get update && apt-get install -y cmake libmagic-dev rclone - - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64 - - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli - - chmod +x scaleway-cli - - ./scaleway-cli object config install type=rclone - - echo "import Mix.Config" > config/prod.secret.exs - - mix deps.get --only prod - - mkdir release - - export PLEROMA_BUILD_BRANCH=$CI_COMMIT_BRANCH - - mix release --path release - - zip akkoma-$CI_COMMIT_BRANCH-${platform}.zip -r release - - rclone copyto akkoma-$CI_COMMIT_BRANCH-${platform}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${platform}.zip - - amd64-musl: +pipeline: + glibc: when: event: - - tag - - group: release - image: elixir:1.13-alpine + - push + secrets: + - SCW_ACCESS_KEY + - SCW_SECRET_KEY + - SCW_DEFAULT_ORGANIZATION_ID + image: ${docker_prefix}elixir:1.13 environment: MIX_ENV: prod commands: - - apk add git gcc g++ musl-dev make cmake file-dev rclone wget + - apt-get update && apt-get install -y cmake libmagic-dev rclone zip - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64 - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli - chmod +x scaleway-cli - ./scaleway-cli object config install type=rclone - echo "import Mix.Config" > config/prod.secret.exs + - mix local.hex --force + - mix local.rebar --force + - mix deps.clean --all - mix deps.get --only prod - mkdir release - - export PLEROMA_BUILD_BRANCH=${CI_COMMIT_BRANCH} + - export PLEROMA_BUILD_BRANCH=develop - mix release --path release - - zip akkoma-$CI_COMMIT_BRANCH-${platform}.zip -r release - - rclone copyto akkoma-$CI_COMMIT_BRANCH-${platform}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${platform}.zip + - zip akkoma-${tag}.zip -r release + - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/develop/akkoma-${tag}.zip - arm64-glibc: + musl: when: event: - - tag - + - push + secrets: + - SCW_ACCESS_KEY + - SCW_SECRET_KEY + - SCW_DEFAULT_ORGANIZATION_ID group: release - image: arm64v8/elixir:1.13 + image: ${docker_prefix}elixir:1.13-alpine environment: MIX_ENV: prod commands: - - apt-get update && apt-get install -y cmake libmagic-dev rclone + - apk add git gcc g++ musl-dev make cmake file-dev rclone wget zip + - rm -rf release || true + - rm -rf _build || true + - rm -rf /root/.mix + - rm scaleway-cli || true - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64 - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli - chmod +x scaleway-cli - ./scaleway-cli object config install type=rclone - - echo "import Mix.Config" > config/prod.secret.exs - - mix deps.get --only prod - - mkdir release - - export PLEROMA_BUILD_BRANCH=$CI_COMMIT_BRANCH - - mix release --path release - - zip akkoma-$CI_COMMIT_BRANCH-${platform}.zip -r release - - rclone copyto akkoma-$CI_COMMIT_BRANCH-${platform}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${platform}.zip - - - arm64-musl: - when: - event: - - tag - group: release - image: arm64v8/elixir:1.13-alpine - environment: - MIX_ENV: prod - commands: - - apk add git gcc g++ musl-dev make cmake file-dev rclone wget - - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64 - - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli - - chmod +x scaleway-cli - - ./scaleway-cli object config install type=rclone - - echo "import Mix.Config" > config/prod.secret.exs + - mix local.hex --force + - mix local.rebar --force + - mix deps.clean --all - mix deps.get --only prod - - mkdir release - - export PLEROMA_BUILD_BRANCH=${CI_COMMIT_BRANCH} - mix release --path release - - zip akkoma-$CI_COMMIT_BRANCH-${platform}.zip -r release - - rclone copyto akkoma-$CI_COMMIT_BRANCH-${platform}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${platform}.zip + - export PLEROMA_BUILD_BRANCH=develop + - zip akkoma-${tag}.zip -r release + - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/develop/akkoma-${tag}-musl.zip