ci: use sccache for cargo & fix ci
This commit is contained in:
parent
ec365709b4
commit
e0991498fd
3 changed files with 24 additions and 16 deletions
|
@ -1,7 +1,6 @@
|
||||||
when:
|
when:
|
||||||
- event: tag
|
- event: tag
|
||||||
branch: main
|
branch: main
|
||||||
path: "agent/src/*"
|
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
BUILD_TARGET:
|
BUILD_TARGET:
|
||||||
|
@ -11,13 +10,19 @@ matrix:
|
||||||
steps:
|
steps:
|
||||||
build:
|
build:
|
||||||
image: git.nikos.gg/prymn/rust/aarch64:latest
|
image: git.nikos.gg/prymn/rust/aarch64:latest
|
||||||
|
environment:
|
||||||
|
- RUSTC_WRAPPER=/usr/local/bin/sccache
|
||||||
|
- SCCACHE_BUCKET=prymn-cargo-cache
|
||||||
|
- SCCACHE_ENDPOINT=https://75178f9eca227dea51b3db4db2c15a5a.r2.cloudflarestorage.com
|
||||||
|
- SCCACHE_REGION=auto
|
||||||
|
secrets: [ aws_access_key_id, aws_secret_access_key ]
|
||||||
commands:
|
commands:
|
||||||
- protoc --version
|
- protoc --version
|
||||||
- cargo build --bin prymn_agent --release --target "${BUILD_TARGET}"
|
- cargo build --bin prymn_agent --release --target "${BUILD_TARGET}"
|
||||||
- mkdir -p "dist/${BUILD_TARGET}"
|
- mkdir -p "dist/${BUILD_TARGET}"
|
||||||
- cp "target/${BUILD_TARGET}/release/prymn_agent" "dist/${BUILD_TARGET}"
|
- cp "target/${BUILD_TARGET}/release/prymn_agent" "dist/${BUILD_TARGET}"
|
||||||
|
|
||||||
release-binaries:
|
upload:
|
||||||
image: woodpeckerci/plugin-s3
|
image: woodpeckerci/plugin-s3
|
||||||
settings:
|
settings:
|
||||||
bucket: prymn-static
|
bucket: prymn-static
|
||||||
|
@ -27,4 +32,4 @@ steps:
|
||||||
secret_key:
|
secret_key:
|
||||||
from_secret: r2_secret_key
|
from_secret: r2_secret_key
|
||||||
source: dist/**/*
|
source: dist/**/*
|
||||||
target: /
|
target: /agent
|
|
@ -2,18 +2,24 @@ labels:
|
||||||
platform: linux/arm64
|
platform: linux/arm64
|
||||||
|
|
||||||
when:
|
when:
|
||||||
- event: tag
|
- event: push
|
||||||
branch: main
|
branch: main
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
make-release:
|
make-release:
|
||||||
image: docker.io/hexpm/elixir:1.15.5-erlang-26.0.2-debian-bookworm-20230612
|
image: git.nikos.gg/prymn/images/elixir:61de1c5f
|
||||||
environment:
|
environment:
|
||||||
- MIX_ENV=prod
|
- MIX_ENV=prod
|
||||||
commands:
|
commands:
|
||||||
- apt-get update -y && apt-get install -y build-essential
|
- cd app && mkdir -p _build
|
||||||
- cd app
|
### TODO: REMOVE WHEN TAILWIND FROM PHOENIX IS FIXED
|
||||||
- mix local.hex --force && mix local.rebar --force
|
- 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 deps.get --only prod
|
||||||
- mix compile
|
- mix compile
|
||||||
- mix assets.deploy
|
- mix assets.deploy
|
||||||
|
@ -22,14 +28,11 @@ steps:
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
image: alpine:latest
|
image: alpine:latest
|
||||||
environment:
|
secrets: [ DEPLOY_KEY, APP_SERVER_ADDRESS ]
|
||||||
- REMOTE_SERVER="prymnci@${APP_SERVER_ADDRESS}"
|
|
||||||
- DEPLOY_PATH="/srv/app"
|
|
||||||
commands:
|
commands:
|
||||||
- apk add --no-cache openssh-client rsync
|
- apk add --no-cache openssh-client rsync
|
||||||
- eval $(ssh-agent -s)
|
- eval $(ssh-agent -s)
|
||||||
- echo "${DEPLOY_KEY}" | ssh-add -
|
- echo "$${DEPLOY_KEY}" | ssh-add -
|
||||||
- mkdir -p ~/.ssh && chmod 700 ~/.ssh
|
- mkdir -p ~/.ssh && chmod 700 /root/.ssh
|
||||||
- echo "${DEPLOY_KEY}" > ~/.ssh/known_hosts
|
- ssh-keyscan -t rsa "$${APP_SERVER_ADDRESS}" > /root/.ssh/known_hosts
|
||||||
- cd app && rsync -avz --delete _build/prod/rel/prymn/ "${REMOTE_SERVER}:${DEPLOY_PATH}"
|
- cd app && rsync -avz --delete _build/prod/rel/prymn/ "prymnci@$${APP_SERVER_ADDRESS}:/srv/app"
|
||||||
secrets: [ DEPLOY_KEY ]
|
|
||||||
|
|
Loading…
Reference in a new issue