X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=.woodpecker%2F.release.yml;h=535cdd65bdd9c168f7f58b24655f06962baffe7b;hb=26830387ac899dc106e899ee50e78649e8c6f15e;hp=f8b55effe27ad29b0e114ed3932e1271a49e75a6;hpb=29f42cbb3e2248c576a5274f794a2757169eb74e;p=akkoma diff --git a/.woodpecker/.release.yml b/.woodpecker/.release.yml index f8b55effe..535cdd65b 100644 --- a/.woodpecker/.release.yml +++ b/.woodpecker/.release.yml @@ -1,115 +1,59 @@ -matrix: - docker_prefix: - - "" - - arm64v8/ - - arm32v7/ - tag: - - amd64 - - arm64 - - arm - - include: - - tag: amd64 - docker_prefix: "" - -pipeline: - glibc: - when: - event: - - push - branch: - - develop - - stable - secrets: +variables: + - &scw-secrets - SCW_ACCESS_KEY - SCW_SECRET_KEY - SCW_DEFAULT_ORGANIZATION_ID - image: ${docker_prefix}elixir:1.13 - environment: - MIX_ENV: prod - commands: - - 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 - - export PLEROMA_BUILD_BRANCH=$CI_COMMIT_BRANCH - - mix deps.clean --all - - mix deps.get --only prod - - mkdir release - - mix release --path release - - zip akkoma-${tag}.zip -r release - - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${tag}.zip + - &setup-scw-s3 "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" - musl: + - &setup-hex "mix local.hex --force && mix local.rebar --force" + - &build-on when: event: - - push + - push + - tag branch: - - develop - - stable - secrets: - - SCW_ACCESS_KEY - - SCW_SECRET_KEY - - SCW_DEFAULT_ORGANIZATION_ID - image: ${docker_prefix}elixir:1.13-alpine + - develop + - stable + - refs/tags/v* + - refs/tags/stable-* + - &tag-build 'export BUILD_TAG=$${CI_COMMIT_TAG:-"$CI_COMMIT_BRANCH"} && export PLEROMA_BUILD_BRANCH=$BUILD_TAG' + + - &clean "(rm -rf release || true) && (rm -rf _build || true) && (rm -rf /root/.mix) && (rm scaleway-cli || true)" + + +pipeline: + glibc: + image: elixir:1.13 + <<: *build-on + secrets: *scw-secrets environment: MIX_ENV: prod commands: - - 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 - - - mix local.hex --force - - mix local.rebar --force - - export PLEROMA_BUILD_BRANCH=$CI_COMMIT_BRANCH - - mix deps.clean --all + - apt-get update && apt-get install -y cmake libmagic-dev rclone zip imagemagick libmagic-dev git + - *clean + - *setup-scw-s3 + - echo "import Mix.Config" > config/prod.secret.exs + - *setup-hex + - *tag-build - mix deps.get --only prod - mix release --path release - - zip akkoma-${tag}.zip -r release - - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${tag}-musl.zip + - zip akkoma-amd64.zip -r release + - rclone copyto akkoma-amd64.zip scaleway:akkoma-updates/$BUILD_TAG/akkoma-amd64.zip - musl1.1: - when: - event: - - push - branch: - - develop - - stable - secrets: - - SCW_ACCESS_KEY - - SCW_SECRET_KEY - - SCW_DEFAULT_ORGANIZATION_ID - image: voidlinux/voidlinux-musl + musl: + image: elixir:1.13-alpine + <<: *build-on + secrets: *scw-secrets environment: MIX_ENV: prod commands: - - xbps-install -Suy || xbps-install -uy xbps - - xbps-install -Suy - - xbps-install -y git gcc musl-devel make cmake file-devel rclone wget zip libmagic elixir - - 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 - - - mix local.hex --force - - mix local.rebar --force - - export PLEROMA_BUILD_BRANCH=$CI_COMMIT_BRANCH + - apk add git gcc g++ musl-dev make cmake file-dev rclone wget zip imagemagick + - *clean + - *setup-scw-s3 + - *setup-hex - mix deps.clean --all + - *tag-build - mix deps.get --only prod - mix release --path release - - zip akkoma-${tag}.zip -r release - - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${tag}-musl11.zip + - zip akkoma-amd64.zip -r release + - rclone copyto akkoma-amd64.zip scaleway:akkoma-updates/$BUILD_TAG/akkoma-amd64-musl.zip