forked from vieter-v/vieter
chore(ci): refactor ci configs a bit
This commit is contained in:
parent
95d32e2d51
commit
847d77b2bc
10 changed files with 28 additions and 10 deletions
|
|
@ -1,70 +0,0 @@
|
|||
matrix:
|
||||
PLATFORM:
|
||||
- 'linux/amd64'
|
||||
- 'linux/arm64'
|
||||
|
||||
platform: ${PLATFORM}
|
||||
|
||||
pipeline:
|
||||
install-modules:
|
||||
image: 'chewingbever/vlang:0.3'
|
||||
pull: true
|
||||
commands:
|
||||
- export VMODULES=$PWD/.vmodules
|
||||
- 'cd src && v install'
|
||||
when:
|
||||
event: [push, pull_request]
|
||||
|
||||
debug:
|
||||
image: 'chewingbever/vlang:0.3'
|
||||
commands:
|
||||
- export VMODULES=$PWD/.vmodules
|
||||
- make
|
||||
when:
|
||||
event: [pull_request]
|
||||
branch:
|
||||
exclude: [main]
|
||||
|
||||
prod:
|
||||
image: 'chewingbever/vlang:0.3'
|
||||
environment:
|
||||
- LDFLAGS=-lz -lbz2 -llzma -lexpat -lzstd -llz4 -lsqlite3 -static
|
||||
commands:
|
||||
- export VMODULES=$PWD/.vmodules
|
||||
# Apparently this -D is *very* important
|
||||
- CFLAGS='-DGC_THREADS=1' make prod
|
||||
# Make sure the binary is actually statically built
|
||||
- readelf -d pvieter
|
||||
- du -h pvieter
|
||||
- '[ "$(readelf -d pvieter | grep NEEDED | wc -l)" = 0 ]'
|
||||
# This removes so much, it's amazing
|
||||
- strip -s pvieter
|
||||
- du -h pvieter
|
||||
when:
|
||||
event: [push, pull_request]
|
||||
|
||||
upload:
|
||||
image: 'chewingbever/vlang:0.3'
|
||||
secrets: [ s3_username, s3_password ]
|
||||
commands:
|
||||
# https://gist.github.com/JustinTimperio/7c7115f87b775618637d67ac911e595f
|
||||
- export URL=s3.rustybever.be
|
||||
- export DATE="$(date -R --utc)"
|
||||
- export CONTENT_TYPE='application/zstd'
|
||||
|
||||
- export OBJ_PATH="/vieter/commits/$CI_COMMIT_SHA/vieter-$(echo '${PLATFORM}' | sed 's:/:-:g')"
|
||||
- export SIG_STRING="PUT\n\n$CONTENT_TYPE\n$DATE\n$OBJ_PATH"
|
||||
- export SIGNATURE="$(echo -en $SIG_STRING | openssl sha1 -hmac $S3_PASSWORD -binary | base64)"
|
||||
- >
|
||||
curl
|
||||
--silent
|
||||
--fail
|
||||
-XPUT
|
||||
-T pvieter
|
||||
-H "Host: $URL"
|
||||
-H "Date: $DATE"
|
||||
-H "Content-Type: $CONTENT_TYPE"
|
||||
-H "Authorization: AWS $S3_USERNAME:$SIGNATURE"
|
||||
https://$URL$OBJ_PATH
|
||||
when:
|
||||
event: [push, pull_request]
|
||||
Loading…
Add table
Add a link
Reference in a new issue