-depends_on:
-- test
+matrix:
+ docker_prefix:
+ - ""
+ - arm64v8/
+ - arm32v7/
+ tag:
+ - amd64
+ - arm64
+ - arm
-pipeline:
+ include:
+ - tag: amd64
+ docker_prefix: ""
- amd64-glibc:
+pipeline:
+ glibc:
when:
event:
- - tag
-
- group: release
- image: elixir:1.13
+ - push
+ branch:
+ - develop
+ - stable
+ 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
+ - 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 deps.get --only prod
- - mkdir release
+ - mix local.hex --force
+ - mix local.rebar --force
- export PLEROMA_BUILD_BRANCH=$CI_COMMIT_BRANCH
- - mix release --path release
- - zip akkoma-$CI_COMMIT_BRANCH-${platform}.zip -r release
- - rclone copy akkoma-$CI_COMMIT_BRANCH-${platform}.zip scaleway:akkoma-updates/
-
- amd64-musl:
- when:
- event:
- - tag
-
- group: release
- image: 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 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 copy akkoma-$CI_COMMIT_BRANCH-${platform}.zip scaleway:akkoma-updates/
+ - zip akkoma-${tag}.zip -r release
+ - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${tag}.zip
- arm64-glibc:
+ musl:
when:
event:
- - tag
-
+ - push
+ branch:
+ - develop
+ - stable
+ 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
+
+ - mix local.hex --force
+ - mix local.rebar --force
- export PLEROMA_BUILD_BRANCH=$CI_COMMIT_BRANCH
+ - mix deps.clean --all
+ - mix deps.get --only prod
- mix release --path release
- - zip akkoma-$CI_COMMIT_BRANCH-${platform}.zip -r release
- - rclone copy akkoma-$CI_COMMIT_BRANCH-${platform}.zip scaleway:akkoma-updates/
+ - zip akkoma-${tag}.zip -r release
+ - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${tag}-musl.zip
- arm64-musl:
+ musl1.1:
when:
event:
- - tag
-
+ - push
+ branch:
+ - develop
+ - stable
+ secrets:
+ - SCW_ACCESS_KEY
+ - SCW_SECRET_KEY
+ - SCW_DEFAULT_ORGANIZATION_ID
group: release
- image: arm64v8/elixir:1.13-alpine
+ image: voidlinux/voidlinux-musl
environment:
MIX_ENV: prod
commands:
- - apk add git gcc g++ musl-dev make cmake file-dev rclone wget
+ - 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
- - 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
- - export PLEROMA_BUILD_BRANCH=${CI_COMMIT_BRANCH}
- mix release --path release
- - zip akkoma-$CI_COMMIT_BRANCH-${platform}.zip -r release
- - rclone copy akkoma-$CI_COMMIT_BRANCH-${platform}.zip scaleway:akkoma-updates/
+ - zip akkoma-${tag}.zip -r release
+ - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${tag}-musl11.zip