99a4d147fbfdd75227dc27dac24a094154eccaf8
[akkoma] / .woodpecker / .release.yml
1 pipeline:
2
3 amd64-glibc:
4 when:
5 event:
6 - push
7 secrets:
8 - SCW_ACCESS_KEY
9 - SCW_SECRET_KEY
10 - SCW_DEFAULT_ORGANIZATION_ID
11 group: release
12 image: elixir:1.13
13 environment:
14 MIX_ENV: prod
15 commands:
16 - apt-get update && apt-get install -y cmake libmagic-dev rclone
17 - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64
18 - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli
19 - chmod +x scaleway-cli
20 - ./scaleway-cli object config install type=rclone
21 - echo "import Mix.Config" > config/prod.secret.exs
22 - mix local.hex --force
23 - mix local.rebar --force
24 - mix deps.get --only prod
25 - mkdir release
26 - export PLEROMA_BUILD_BRANCH=$CI_COMMIT_BRANCH
27 - mix release --path release
28 - zip akkoma-$CI_COMMIT_BRANCH-${platform}.zip -r release
29 - rclone copyto akkoma-$CI_COMMIT_BRANCH-${platform}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${platform}.zip
30
31 amd64-musl:
32 when:
33 event:
34 - tag
35
36 group: release
37 image: elixir:1.13-alpine
38 environment:
39 MIX_ENV: prod
40 commands:
41 - apk add git gcc g++ musl-dev make cmake file-dev rclone wget
42 - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64
43 - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli
44 - chmod +x scaleway-cli
45 - ./scaleway-cli object config install type=rclone
46 - echo "import Mix.Config" > config/prod.secret.exs
47 - mix deps.get --only prod
48 - mkdir release
49 - export PLEROMA_BUILD_BRANCH=${CI_COMMIT_BRANCH}
50 - mix release --path release
51 - zip akkoma-$CI_COMMIT_BRANCH-${platform}.zip -r release
52 - rclone copyto akkoma-$CI_COMMIT_BRANCH-${platform}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${platform}.zip
53
54 arm64-glibc:
55 when:
56 event:
57 - tag
58
59 group: release
60 image: arm64v8/elixir:1.13
61 environment:
62 MIX_ENV: prod
63 commands:
64 - apt-get update && apt-get install -y cmake libmagic-dev rclone
65 - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64
66 - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli
67 - chmod +x scaleway-cli
68 - ./scaleway-cli object config install type=rclone
69 - echo "import Mix.Config" > config/prod.secret.exs
70 - mix deps.get --only prod
71 - mkdir release
72 - export PLEROMA_BUILD_BRANCH=$CI_COMMIT_BRANCH
73 - mix release --path release
74 - zip akkoma-$CI_COMMIT_BRANCH-${platform}.zip -r release
75 - rclone copyto akkoma-$CI_COMMIT_BRANCH-${platform}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${platform}.zip
76
77
78 arm64-musl:
79 when:
80 event:
81 - tag
82
83 group: release
84 image: arm64v8/elixir:1.13-alpine
85 environment:
86 MIX_ENV: prod
87 commands:
88 - apk add git gcc g++ musl-dev make cmake file-dev rclone wget
89 - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64
90 - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli
91 - chmod +x scaleway-cli
92 - ./scaleway-cli object config install type=rclone
93 - echo "import Mix.Config" > config/prod.secret.exs
94 - mix deps.get --only prod
95 - mkdir release
96 - export PLEROMA_BUILD_BRANCH=${CI_COMMIT_BRANCH}
97 - mix release --path release
98 - zip akkoma-$CI_COMMIT_BRANCH-${platform}.zip -r release
99 - rclone copyto akkoma-$CI_COMMIT_BRANCH-${platform}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${platform}.zip