335f3c8e8826442671677c2e5f56e31af66472a7
[akkoma] / .woodpecker / .release.yml
1 matrix:
2 docker_prefix:
3 - ""
4 - arm64v8/
5 - arm32v7/
6 tag:
7 - amd64
8 - arm64
9 - arm
10
11 include:
12 - tag: amd64
13 docker_prefix: ""
14
15 pipeline:
16 glibc:
17 when:
18 event:
19 - tag
20 secrets:
21 - SCW_ACCESS_KEY
22 - SCW_SECRET_KEY
23 - SCW_DEFAULT_ORGANIZATION_ID
24 image: ${docker_prefix}elixir:1.13
25 environment:
26 MIX_ENV: prod
27 commands:
28 - apt-get update && apt-get install -y cmake libmagic-dev rclone zip
29 - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64
30 - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli
31 - chmod +x scaleway-cli
32 - ./scaleway-cli object config install type=rclone
33 - echo "import Mix.Config" > config/prod.secret.exs
34 - mix local.hex --force
35 - mix local.rebar --force
36 - mix deps.clean --all
37 - mix deps.get --only prod
38 - mkdir release
39 - export PLEROMA_BUILD_BRANCH=develop
40 - mix release --path release
41 - zip akkoma-${tag}.zip -r release
42 - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/develop/akkoma-${tag}.zip
43
44 musl:
45 when:
46 event:
47 - tag
48 secrets:
49 - SCW_ACCESS_KEY
50 - SCW_SECRET_KEY
51 - SCW_DEFAULT_ORGANIZATION_ID
52 group: release
53 image: ${docker_prefix}elixir:1.13-alpine
54 environment:
55 MIX_ENV: prod
56 commands:
57 - apk add git gcc g++ musl-dev make cmake file-dev rclone wget zip
58 - rm -rf release || true
59 - rm -rf _build || true
60 - rm -rf /root/.mix
61 - rm scaleway-cli || true
62 - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64
63 - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli
64 - chmod +x scaleway-cli
65 - ./scaleway-cli object config install type=rclone
66
67 - mix local.hex --force
68 - mix local.rebar --force
69 - mix deps.clean --all
70 - mix deps.get --only prod
71 - mix release --path release
72 - export PLEROMA_BUILD_BRANCH=develop
73 - zip akkoma-${tag}.zip -r release
74 - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/develop/akkoma-${tag}-musl.zip