Files
postgrest/.cirrus.yml
T
2020-05-08 15:11:44 -05:00

50 lines
1.7 KiB
YAML

freebsd_instance:
image: freebsd-12-1-release-amd64
build_task:
#only_if: $CIRRUS_BRANCH == 'master'
env:
ASSUME_ALWAYS_YES: YES
cabal_packages_cache:
folder: ~/.cabal/packages
reupload_on_changes: false
fingerprint_script: cat postgrest.cabal
cabal_store_cache:
folder: ~/.cabal/store
reupload_on_changes: false
fingerprint_script: cat postgrest.cabal
dist_cache:
folder: dist-newstyle
reupload_on_changes: false
fingerprint_script: cat postgrest.cabal
install_script:
## TODO: Some of these workaround steps might be unneeded now
## gmake required, otherwise bsd make is used and some cryptic "No operator" errors are shown
- pkg install -y gmake
## gcc required, otherwise warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
- pkg install -y gcc
- pkg install -y libiconv
- pkg install -y gmp
- pkg install -y postgresql95-client
- pkg install -y pkgconf
- pkg install -y ghc
- pkg install -y hs-cabal-install
build_script:
- cabal v2-update
- cabal v2-build
publish_task:
skip: $CIRRUS_BRANCH !=~ 'release/.*'
env:
TOKEN: ENCRYPTED[c99babbf04e8a33962ffbbc75bf20d3abe408f9bede5ed5d8956cd24da6fdb34266c920984cc43f8106ef3423fba0e98]
NAME: postgrest-$CIRRUS_TAG-freebsd.tar.xz
depends_on:
- build
script:
- tar cjf $NAME postgrest
## The CIRRUS_RELEASE env var is not the same as the tag. It's an id for the release.
- curl -X POST --data-binary @$NAME \
-H "Authorization:token ${TOKEN}" \
-H "Content-Type:application/octet-stream" \
"https://uploads.github.com/repos/$CIRRUS_REPO_FULL_NAME/releases/${CIRRUS_RELEASE}/assets?name=${NAME}"