56 lines
2.4 KiB
YAML
56 lines
2.4 KiB
YAML
freebsd_instance:
|
|
image: freebsd-12-1-release-amd64
|
|
|
|
build_task:
|
|
env:
|
|
ASSUME_ALWAYS_YES: YES
|
|
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
|
|
cabal_cache:
|
|
folder: ~/.cabal
|
|
fingerprint_script: cat postgrest.cabal
|
|
build_script:
|
|
- cabal v2-update
|
|
- cabal v2-build
|
|
binaries_artifacts:
|
|
path: "dist-newstyle/build/x86_64-freebsd/ghc-8.6.5/postgrest-7.0.1/x/postgrest/build/postgrest/*"
|
|
#binary_script:
|
|
#- mkdir bin
|
|
## cabal v2-install --installdir=.
|
|
## the installdir option is not working on this cabal version(form hs-cabal-install), so the binary must be extrated from the path
|
|
## this is too brittle so for now we don't use it
|
|
#- ldd /tmp/cirrus-ci-build/dist-newstyle/build/x86_64-freebsd/ghc-8.6.5/postgrest-7.0.1/x/postgrest/build/postgrest/postgrest
|
|
#- mv /tmp/cirrus-ci-build/dist-newstyle/build/x86_64-freebsd/ghc-8.6.5/postgrest-7.0.1/x/postgrest/build/postgrest/postgrest bin/
|
|
## https://cirrus-ci.org/guide/writing-tasks/#artifacts-instruction
|
|
#binaries_artifacts:
|
|
#path: bin/
|
|
cleanup_script:
|
|
- rm -rf ~/.cabal/logs
|
|
- rm ~/.cabal/config
|
|
|
|
#publish_task:
|
|
#skip: $CIRRUS_TAG == ""
|
|
#env:
|
|
#TOKEN: ENCRYPTED[c99babbf04e8a33962ffbbc75bf20d3abe408f9bede5ed5d8956cd24da6fdb34266c920984cc43f8106ef3423fba0e98]
|
|
#depends_on:
|
|
#- build
|
|
#script:
|
|
## https://cirrus-ci.org/guide/writing-tasks/#artifacts-instruction
|
|
#- wget https://api.cirrus-ci.com/v1/artifact/github/$CIRRUS_REPO_FULL_NAME/build/binaries/bin/postgrest
|
|
#- tar cjf postgrest-$CIRRUS_TAG-freebsd.tar.xz 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}"
|