X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=.woodpecker%2F.release.yml;h=899027e2d97c6c975b693d7a512918d30b8ad2fe;hb=1e6b280280cb61aaeef7c639bdb9728b87572e7f;hp=bf453cf632c43565693984d6d8397526b8e40af0;hpb=5ba0eed5ec7f2f1e60ee62cfcb21b15d24ccfc56;p=akkoma diff --git a/.woodpecker/.release.yml b/.woodpecker/.release.yml index bf453cf63..899027e2d 100644 --- a/.woodpecker/.release.yml +++ b/.woodpecker/.release.yml @@ -1,97 +1,78 @@ -pipeline: +matrix: + docker_prefix: + - "" + - arm64v8/ + - arm32v7/ + tag: + - amd64 + - arm64 + - arm + + include: + - tag: amd64 + docker_prefix: "" - amd64-glibc: +pipeline: + glibc: when: event: - push + branch: + - develop secrets: - SCW_ACCESS_KEY - SCW_SECRET_KEY - SCW_DEFAULT_ORGANIZATION_ID - 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: - when: - event: - - tag - - group: release - image: elixir:1.13-alpine + 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 imagemagick libmagic-dev - 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 + branch: + - develop + 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 imagemagick + - 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