cirrusci: add binary artifact

This commit is contained in:
steve-chavez
2020-05-18 13:05:09 -05:00
committed by Steve Chavez
parent 98bf4d861d
commit 6c4208d9e7
+33 -27
View File
@@ -2,21 +2,8 @@ freebsd_instance:
image: freebsd-12-1-release-amd64 image: freebsd-12-1-release-amd64
build_task: build_task:
#only_if: $CIRRUS_BRANCH == 'master'
env: env:
ASSUME_ALWAYS_YES: YES 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: install_script:
## TODO: Some of these workaround steps might be unneeded now ## 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 ## gmake required, otherwise bsd make is used and some cryptic "No operator" errors are shown
@@ -29,21 +16,40 @@ build_task:
- pkg install -y pkgconf - pkg install -y pkgconf
- pkg install -y ghc - pkg install -y ghc
- pkg install -y hs-cabal-install - pkg install -y hs-cabal-install
cabal_cache:
folder: ~/.cabal
fingerprint_script: cat postgrest.cabal
build_script: build_script:
- cabal v2-update - cabal v2-update
- cabal v2-build - 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: #publish_task:
skip: $CIRRUS_BRANCH !=~ 'release/.*' #skip: $CIRRUS_TAG == ""
env: #env:
TOKEN: ENCRYPTED[c99babbf04e8a33962ffbbc75bf20d3abe408f9bede5ed5d8956cd24da6fdb34266c920984cc43f8106ef3423fba0e98] #TOKEN: ENCRYPTED[c99babbf04e8a33962ffbbc75bf20d3abe408f9bede5ed5d8956cd24da6fdb34266c920984cc43f8106ef3423fba0e98]
NAME: postgrest-$CIRRUS_TAG-freebsd.tar.xz #depends_on:
depends_on: #- build
- build #script:
script: ## https://cirrus-ci.org/guide/writing-tasks/#artifacts-instruction
- tar cjf $NAME postgrest #- wget https://api.cirrus-ci.com/v1/artifact/github/$CIRRUS_REPO_FULL_NAME/build/binaries/bin/postgrest
## The CIRRUS_RELEASE env var is not the same as the tag. It's an id for the release. #- tar cjf postgrest-$CIRRUS_TAG-freebsd.tar.xz postgrest
- curl -X POST --data-binary @$NAME \ ### The CIRRUS_RELEASE env var is not the same as the tag. It's an id for the release.
-H "Authorization:token ${TOKEN}" \ #- curl -X POST --data-binary @$NAME \
-H "Content-Type:application/octet-stream" \ #-H "Authorization:token ${TOKEN}" \
"https://uploads.github.com/repos/$CIRRUS_REPO_FULL_NAME/releases/${CIRRUS_RELEASE}/assets?name=${NAME}" #-H "Content-Type:application/octet-stream" \
#"https://uploads.github.com/repos/$CIRRUS_REPO_FULL_NAME/releases/${CIRRUS_RELEASE}/assets?name=${NAME}"