Commit e0bed26c authored by Marc Coiffier's avatar Marc Coiffier
Browse files

Add architecture information to generated archives

parent f22a72ff
......@@ -36,30 +36,30 @@ matrix:
include:
# The Stack builds. We can pass in arbitrary Stack arguments via the ARGS
# variable, such as using --stack-yaml to point to a different file.
- env: BUILD=stack ARGS=""
- env: BUILD=stack ARGS="" HOST_ARCH=`uname -m`
compiler: "The Haskell Stack"
addons: {apt: {packages: [libgmp-dev]}}
# Build on macOS in addition to Linux
- env: BUILD=stack ARGS=""
- env: BUILD=stack ARGS="" HOST_ARCH=`uname -m`
compiler: "The Haskell Stack"
os: osx
before_install:
- . scripts/ci/travis-build.sh before_install
- . scripts/ci/inline/before_install
install:
- . scripts/ci/travis-build.sh install
- . scripts/ci/inline/install
script:
- . scripts/ci/travis-build.sh script
- . scripts/ci/inline/script
deploy:
provider: releases
api_key: $GITHUB_API_KEY
file:
- curly-$TRAVIS_OS_NAME.tar.xz
- curly-gateway-$TRAVIS_OS_NAME.tar.xz
- curly-$TRAVIS_OS_NAME-$HOST_ARCH.tar.xz
- curly-gateway-$TRAVIS_OS_NAME-$HOST_ARCH.tar.xz
skip_cleanup: true
on:
tags: true
......
* TODO Release Curly v1.0 [50%]
* TODO Release Curly v1.0 [88%]
:PROPERTIES:
:COOKIE_DATA: todo recursive
:END:
......@@ -10,10 +10,10 @@
CLOSED: [2018-01-27 Sat 19:07]
*** TODO Implement syntactic macros
** TODO Make the library format forward-compatible
** DONE Make the library format forward-compatible
*** DONE Include all basic function metadata (value,type,strictness)
CLOSED: [2018-01-27 Sat 19:05]
*** TODO Allow for the presence of additional sections in the future
*** DONE Allow for the presence of additional sections in the future
** DONE Streamline the UI
*** DONE Unify the syntaxes for symbol paths between command-line options, configuration files and source files
......@@ -31,11 +31,11 @@
*** DONE Implement continuous builds when the --translate option is specified over long-running sessions
CLOSED: [2018-01-27 Sat 19:23]
** TODO Write the docs
*** TODO A tutorial on the basics of the Curly language
*** TODO A description of the Curly Compiler, with its configuration files
*** TODO A description of the formatting language used in printing and query functions
*** TODO A website to welcome new users to the Curly ecosystem
** DONE Write the docs
*** DONE A tutorial on the basics of the Curly language
*** DONE A description of the Curly Compiler, with its configuration files
*** DONE A description of the formatting language used in printing and query functions
*** DONE A website to welcome new users to the Curly ecosystem
* TODO Start hosting a DHT-based VC on several servers spread out over the world
......@@ -45,3 +45,4 @@
* Extension: Formally-verified Curly
** Proof-annotated variables
** The Delta combinator, for discrimination of lambda-terms
......@@ -12,5 +12,5 @@ for exe; do
cp -r bin/$exe share/*/$exe-*/* "$tmp/$full"
tar -C "$tmp" -c .
rm -r "$tmp"
) | xz > "$exe-$TRAVIS_OS_NAME.tar.xz"
) | xz > "$exe-$TRAVIS_OS_NAME-$HOST_ARCH.tar.xz"
done
#!/bin/sh
unset CC
# We want to always allow newer versions of packages when building on GHC HEAD
CABALARGS=""
if [ "x$GHCVER" = "xhead" ]; then CABALARGS=--allow-newer; fi
# Download and unpack the stack executable
export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$HOME/.local/bin:/opt/alex/$ALEXVER/bin:/opt/happy/$HAPPYVER/bin:$HOME/.cabal/bin:$PATH
mkdir -p ~/.local/bin
if [ `uname` = "Darwin" ]
then
travis_retry curl --insecure -L https://get.haskellstack.org/stable/osx-x86_64.tar.gz | tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin
else
travis_retry curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
fi
# Use the more reliable S3 mirror of Hackage
mkdir -p $HOME/.cabal
echo 'remote-repo: hackage.haskell.org:http://hackage.fpcomplete.com/' > $HOME/.cabal/config
echo 'remote-repo-cache: $HOME/.cabal/packages' >> $HOME/.cabal/config
#!/bin/sh
echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
if [ -f configure.ac ]; then autoreconf -i; fi
set -ex
case "$BUILD" in
stack)
# Add in extra-deps for older snapshots, as necessary
#
# This is disabled by default, as relying on the solver like this can
# make builds unreliable. Instead, if you have this situation, it's
# recommended that you maintain multiple stack-lts-X.yaml files.
#stack --no-terminal --install-ghc $ARGS test --bench --dry-run || ( \
# stack --no-terminal $ARGS build cabal-install && \
# stack --no-terminal $ARGS solver --update-config)
# Build the dependencies
stack --no-terminal --install-ghc $ARGS test --bench --only-dependencies
;;
cabal)
cabal --version
travis_retry cabal update
# Get the list of packages from the stack.yaml file. Note that
# this will also implicitly run hpack as necessary to generate
# the .cabal files needed by cabal-install.
PACKAGES=$(stack --install-ghc query locals | grep '^ *path' | sed 's@^ *path:@@')
cabal install --only-dependencies --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1 $CABALARGS $PACKAGES
;;
esac
set +ex
#!/bin/sh
set -ex
case "$BUILD" in
stack)
stack --no-terminal $ARGS test --bench --no-run-benchmarks
;;
cabal)
cabal install --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1 $CABALARGS $PACKAGES
ORIGDIR=$(pwd)
for dir in $PACKAGES
do
cd $dir
cabal check || [ "$CABALVER" == "1.16" ]
cabal sdist
PKGVER=$(cabal info . | awk '{print $2;exit}')
SRC_TGZ=$PKGVER.tar.gz
cd dist
tar zxfv "$SRC_TGZ"
cd "$PKGVER"
cabal configure --enable-tests --ghc-options -O0
cabal build
if [ "$CABALVER" = "1.16" ] || [ "$CABALVER" = "1.18" ]; then
cabal test
else
cabal test --show-details=streaming --log=/dev/stdout
fi
cd $ORIGDIR
done
;;
esac
scripts/ci/build-package curly curly-gateway
set +ex
#!/bin/sh
before_install() {
unset CC
# We want to always allow newer versions of packages when building on GHC HEAD
CABALARGS=""
if [ "x$GHCVER" = "xhead" ]; then CABALARGS=--allow-newer; fi
# Download and unpack the stack executable
export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$HOME/.local/bin:/opt/alex/$ALEXVER/bin:/opt/happy/$HAPPYVER/bin:$HOME/.cabal/bin:$PATH
mkdir -p ~/.local/bin
if [ `uname` = "Darwin" ]
then
travis_retry curl --insecure -L https://get.haskellstack.org/stable/osx-x86_64.tar.gz | tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin
else
travis_retry curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
fi
# Use the more reliable S3 mirror of Hackage
mkdir -p $HOME/.cabal
echo 'remote-repo: hackage.haskell.org:http://hackage.fpcomplete.com/' > $HOME/.cabal/config
echo 'remote-repo-cache: $HOME/.cabal/packages' >> $HOME/.cabal/config
}
install() {
echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
if [ -f configure.ac ]; then autoreconf -i; fi
set -ex
case "$BUILD" in
stack)
# Add in extra-deps for older snapshots, as necessary
#
# This is disabled by default, as relying on the solver like this can
# make builds unreliable. Instead, if you have this situation, it's
# recommended that you maintain multiple stack-lts-X.yaml files.
#stack --no-terminal --install-ghc $ARGS test --bench --dry-run || ( \
# stack --no-terminal $ARGS build cabal-install && \
# stack --no-terminal $ARGS solver --update-config)
# Build the dependencies
stack --no-terminal --install-ghc $ARGS test --bench --only-dependencies
;;
cabal)
cabal --version
travis_retry cabal update
# Get the list of packages from the stack.yaml file. Note that
# this will also implicitly run hpack as necessary to generate
# the .cabal files needed by cabal-install.
PACKAGES=$(stack --install-ghc query locals | grep '^ *path' | sed 's@^ *path:@@')
cabal install --only-dependencies --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1 $CABALARGS $PACKAGES
;;
esac
set +ex
}
script() {
set -ex
case "$BUILD" in
stack)
stack --no-terminal $ARGS test --bench --no-run-benchmarks
;;
cabal)
cabal install --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1 $CABALARGS $PACKAGES
ORIGDIR=$(pwd)
for dir in $PACKAGES
do
cd $dir
cabal check || [ "$CABALVER" == "1.16" ]
cabal sdist
PKGVER=$(cabal info . | awk '{print $2;exit}')
SRC_TGZ=$PKGVER.tar.gz
cd dist
tar zxfv "$SRC_TGZ"
cd "$PKGVER"
cabal configure --enable-tests --ghc-options -O0
cabal build
if [ "$CABALVER" = "1.16" ] || [ "$CABALVER" = "1.18" ]; then
cabal test
else
cabal test --show-details=streaming --log=/dev/stdout
fi
cd $ORIGDIR
done
;;
esac
scripts/ci/build-package.sh curly curly-gateway
set +ex
}
case "$1" in
before_install) before_install;;
script) script;;
install) install;;
esac
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment