38 lines
1.3 KiB
YAML
38 lines
1.3 KiB
YAML
labels:
|
|
platform: linux/arm64
|
|
|
|
when:
|
|
- event: push
|
|
branch: main
|
|
|
|
steps:
|
|
make-release:
|
|
image: git.nikos.gg/prymn/images/elixir:61de1c5f
|
|
environment:
|
|
- MIX_ENV=prod
|
|
commands:
|
|
- cd app && mkdir -p _build
|
|
### TODO: REMOVE WHEN TAILWIND FROM PHOENIX IS FIXED
|
|
- curl -sfL https://github.com/tailwindlabs/tailwindcss/releases/download/v3.3.3/tailwindcss-linux-arm64 -o _build/tailwind-linux-arm64
|
|
- curl -sfL https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.11.tgz -o /tmp/esbuild.tgz
|
|
- tar zxf /tmp/esbuild.tgz -C /tmp
|
|
- cp /tmp/package/bin/esbuild _build/esbuild-linux-arm64
|
|
- chmod +x _build/esbuild-linux-arm64
|
|
- chmod +x _build/tailwind-linux-arm64
|
|
###
|
|
- mix deps.get --only prod
|
|
- mix compile
|
|
- mix assets.deploy
|
|
- mix phx.gen.release
|
|
- mix release
|
|
|
|
deploy:
|
|
image: alpine:latest
|
|
secrets: [ DEPLOY_KEY, APP_SERVER_ADDRESS ]
|
|
commands:
|
|
- apk add --no-cache openssh-client rsync
|
|
- eval $(ssh-agent -s)
|
|
- echo "$${DEPLOY_KEY}" | ssh-add -
|
|
- mkdir -p ~/.ssh && chmod 700 /root/.ssh
|
|
- ssh-keyscan -t rsa "$${APP_SERVER_ADDRESS}" > /root/.ssh/known_hosts
|
|
- cd app && rsync -avz --delete _build/prod/rel/prymn/ "prymnci@$${APP_SERVER_ADDRESS}:/srv/app"
|