5efef118f469b0365803f2b9b21c7688ae881efb
[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 - push
20 branch:
21 - develop
22 secrets:
23 - SCW_ACCESS_KEY
24 - SCW_SECRET_KEY
25 - SCW_DEFAULT_ORGANIZATION_ID
26 image: ${docker_prefix}elixir:1.13
27 environment:
28 MIX_ENV: prod
29 commands:
30 - apt-get update && apt-get install -y cmake libmagic-dev rclone zip imagemagick libmagic-dev
31 - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64
32 - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli
33 - chmod +x scaleway-cli
34 - ./scaleway-cli object config install type=rclone
35 - echo "import Mix.Config" > config/prod.secret.exs
36 - mix local.hex --force
37 - mix local.rebar --force
38 - mix deps.clean --all
39 - mix deps.get --only prod
40 - mkdir release
41 - export PLEROMA_BUILD_BRANCH=develop
42 - mix release --path release
43 - zip akkoma-${tag}.zip -r release
44 - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/develop/akkoma-${tag}.zip
45
46 musl:
47 when:
48 event:
49 - push
50 branch:
51 - develop
52 secrets:
53 - SCW_ACCESS_KEY
54 - SCW_SECRET_KEY
55 - SCW_DEFAULT_ORGANIZATION_ID
56 group: release
57 image: ${docker_prefix}elixir:1.13-alpine
58 environment:
59 MIX_ENV: prod
60 commands:
61 - apk add git gcc g++ musl-dev make cmake file-dev rclone wget zip imagemagick
62 - rm -rf release || true
63 - rm -rf _build || true
64 - rm -rf /root/.mix
65 - rm scaleway-cli || true
66 - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64
67 - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli
68 - chmod +x scaleway-cli
69 - ./scaleway-cli object config install type=rclone
70
71 - mix local.hex --force
72 - mix local.rebar --force
73 - mix deps.clean --all
74 - mix deps.get --only prod
75 - mix release --path release
76 - export PLEROMA_BUILD_BRANCH=develop
77 - zip akkoma-${tag}.zip -r release
78 - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/develop/akkoma-${tag}-musl.zip
79
80 musl1.1:
81 when:
82 event:
83 - push
84 branch:
85 - develop
86 secrets:
87 - SCW_ACCESS_KEY
88 - SCW_SECRET_KEY
89 - SCW_DEFAULT_ORGANIZATION_ID
90 group: release
91 image: voidlinux/voidlinux-musl
92 environment:
93 MIX_ENV: prod
94 commands:
95 - xbps-install -Suy || xbps-install -uy xbps
96 - xbps-install -Suy
97 - xbps-install -y git gcc musl-devel make cmake file-devel rclone wget zip libmagic elixir
98 - rm -rf release || true
99 - rm -rf _build || true
100 - rm -rf /root/.mix
101 - rm scaleway-cli || true
102 - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64
103 - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli
104 - chmod +x scaleway-cli
105 - ./scaleway-cli object config install type=rclone
106
107 - mix local.hex --force
108 - mix local.rebar --force
109 - mix deps.clean --all
110 - mix deps.get --only prod
111 - mix release --path release
112 - export PLEROMA_BUILD_BRANCH=develop
113 - zip akkoma-${tag}.zip -r release
114 - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/develop/akkoma-${tag}-musl11.zip