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