Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Glasgow Haskell Compiler
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Piyush P Kurur
Glasgow Haskell Compiler
Commits
6eab7cda
Commit
6eab7cda
authored
Dec 07, 2018
by
Ben Gamari
🐢
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CircleCI: Add configurations for Centos 7 and Debian 9
parent
3ab8234a
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
228 additions
and
59 deletions
+228
-59
.circleci/config.yml
.circleci/config.yml
+127
-49
.circleci/images/i386-linux-deb8/Dockerfile
.circleci/images/i386-linux-deb8/Dockerfile
+0
-0
.circleci/images/update-image
.circleci/images/update-image
+7
-7
.circleci/images/x86_64-linux-centos7/Dockerfile
.circleci/images/x86_64-linux-centos7/Dockerfile
+54
-0
.circleci/images/x86_64-linux-deb8/Dockerfile
.circleci/images/x86_64-linux-deb8/Dockerfile
+0
-0
.circleci/images/x86_64-linux-deb9/Dockerfile
.circleci/images/x86_64-linux-deb9/Dockerfile
+37
-0
.circleci/images/x86_64-linux-fedora27/Dockerfile
.circleci/images/x86_64-linux-fedora27/Dockerfile
+0
-0
.gitlab-ci.yml
.gitlab-ci.yml
+3
-3
No files found.
.circleci/config.yml
View file @
6eab7cda
...
@@ -108,14 +108,42 @@ aliases:
...
@@ -108,14 +108,42 @@ aliases:
only
:
/^ghc-.*/
only
:
/^ghc-.*/
jobs
:
jobs
:
"
validate-x86_64-
linux
"
:
"
validate-x86_64-
freebsd
"
:
resource_class
:
xlarge
resource_class
:
xlarge
docker
:
docker
:
-
image
:
ghcci/x86_64-
linux:0.0.8
-
image
:
ghcci/x86_64-
freebsd
environment
:
environment
:
TARGET
:
FreeBSD
<<
:
*buildenv
<<
:
*buildenv
GHC_COLLECTOR_FLAVOR
:
x86_64-linux
GHC_COLLECTOR_FLAVOR
:
x86_64-freebsd
TEST_ENV
:
x86_64-linux
TEST_ENV
:
x86_64-freebsd
steps
:
-
checkout
-
*set_git_identity
-
*prepare
-
*submodules
-
*boot
-
*configure_bsd
-
*make
-
*bindist
-
*store_bindist
-
*test
-
*store_test_results
-
*store_test_artifacts
-
*push_perf_note
"
validate-x86_64-darwin"
:
macos
:
xcode
:
"
9.0"
environment
:
# Disable sphinx PDF output as MacTeX apparently doesn't provide xelatex
BUILD_SPHINX_PDF
:
"
NO"
MACOSX_DEPLOYMENT_TARGET
:
"
10.7"
# Only Sierra and onwards supports clock_gettime. See #12858
ac_cv_func_clock_gettime
:
"
no"
GHC_COLLECTOR_FLAVOR
:
x86_64-darwin
<<
:
*buildenv
TEST_ENV
:
x86_64-darwin
steps
:
steps
:
-
checkout
-
checkout
-
*set_git_identity
-
*set_git_identity
...
@@ -131,22 +159,21 @@ jobs:
...
@@ -131,22 +159,21 @@ jobs:
-
*store_test_artifacts
-
*store_test_artifacts
-
*push_perf_note
-
*push_perf_note
"
validate-x86_64-
freebsd
"
:
"
validate-x86_64-
linux-deb8
"
:
resource_class
:
xlarge
resource_class
:
xlarge
docker
:
docker
:
-
image
:
ghcci/x86_64-
freebsd
-
image
:
ghcci/x86_64-
linux-deb8:0.1
environment
:
environment
:
TARGET
:
FreeBSD
<<
:
*buildenv
<<
:
*buildenv
GHC_COLLECTOR_FLAVOR
:
x86_64-
freebsd
GHC_COLLECTOR_FLAVOR
:
x86_64-
linux
TEST_ENV
:
x86_64-
freebsd
TEST_ENV
:
x86_64-
linux-deb8
steps
:
steps
:
-
checkout
-
checkout
-
*set_git_identity
-
*set_git_identity
-
*prepare
-
*prepare
-
*submodules
-
*submodules
-
*boot
-
*boot
-
*configure_
bsd
-
*configure_
unix
-
*make
-
*make
-
*bindist
-
*bindist
-
*store_bindist
-
*store_bindist
...
@@ -155,18 +182,14 @@ jobs:
...
@@ -155,18 +182,14 @@ jobs:
-
*store_test_artifacts
-
*store_test_artifacts
-
*push_perf_note
-
*push_perf_note
"
validate-x86_64-darwin"
:
"
validate-x86_64-linux-deb9"
:
macos
:
resource_class
:
xlarge
xcode
:
"
9.0"
docker
:
-
image
:
ghcci/x86_64-linux-deb9:0.1
environment
:
environment
:
# Disable sphinx PDF output as MacTeX apparently doesn't provide xelatex
BUILD_SPHINX_PDF
:
"
NO"
MACOSX_DEPLOYMENT_TARGET
:
"
10.7"
# Only Sierra and onwards supports clock_gettime. See #12858
ac_cv_func_clock_gettime
:
"
no"
GHC_COLLECTOR_FLAVOR
:
x86_64-darwin
<<
:
*buildenv
<<
:
*buildenv
TEST_ENV
:
x86_64-darwin
GHC_COLLECTOR_FLAVOR
:
x86_64-linux-deb9
TEST_ENV
:
x86_64-linux
steps
:
steps
:
-
checkout
-
checkout
-
*set_git_identity
-
*set_git_identity
...
@@ -182,10 +205,10 @@ jobs:
...
@@ -182,10 +205,10 @@ jobs:
-
*store_test_artifacts
-
*store_test_artifacts
-
*push_perf_note
-
*push_perf_note
"
validate-hadrian-x86_64-linux"
:
"
validate-hadrian-x86_64-linux
-deb8
"
:
resource_class
:
xlarge
resource_class
:
xlarge
docker
:
docker
:
-
image
:
ghcci/x86_64-linux
:0.0.8
-
image
:
ghcci/x86_64-linux
-deb8:0.1
environment
:
environment
:
<<
:
*buildenv
<<
:
*buildenv
steps
:
steps
:
...
@@ -197,13 +220,13 @@ jobs:
...
@@ -197,13 +220,13 @@ jobs:
-
*configure_unix
-
*configure_unix
-
*build_hadrian
-
*build_hadrian
"
validate-x86_64-linux-unreg"
:
"
validate-x86_64-linux-
deb8-
unreg"
:
resource_class
:
xlarge
resource_class
:
xlarge
docker
:
docker
:
-
image
:
ghcci/x86_64-linux
:0.0.8
-
image
:
ghcci/x86_64-linux
-deb8:0.1
environment
:
environment
:
<<
:
*buildenv
<<
:
*buildenv
TEST_ENV
:
x86_64-linux-unreg
TEST_ENV
:
x86_64-linux-
deb8-
unreg
steps
:
steps
:
-
checkout
-
checkout
-
*set_git_identity
-
*set_git_identity
...
@@ -217,14 +240,14 @@ jobs:
...
@@ -217,14 +240,14 @@ jobs:
-
*push_perf_note
-
*push_perf_note
-
*store_test_artifacts
-
*store_test_artifacts
"
validate-x86_64-linux-llvm"
:
"
validate-x86_64-linux-
deb8-
llvm"
:
resource_class
:
xlarge
resource_class
:
xlarge
docker
:
docker
:
-
image
:
ghcci/x86_64-linux
:0.0.8
-
image
:
ghcci/x86_64-linux
-deb8:0.1
environment
:
environment
:
<<
:
*buildenv
<<
:
*buildenv
BUILD_FLAVOUR
:
perf-llvm
BUILD_FLAVOUR
:
perf-llvm
TEST_ENV
:
x86_64-linux-llvm
TEST_ENV
:
x86_64-linux-
deb8-
llvm
steps
:
steps
:
-
run
:
-
run
:
name
:
Install LLVM
name
:
Install LLVM
...
@@ -247,14 +270,14 @@ jobs:
...
@@ -247,14 +270,14 @@ jobs:
-
*push_perf_note
-
*push_perf_note
# Nightly build with -DDEBUG using devel2 flavour
# Nightly build with -DDEBUG using devel2 flavour
"
validate-x86_64-linux-debug"
:
"
validate-x86_64-linux-deb
8-deb
ug"
:
resource_class
:
xlarge
resource_class
:
xlarge
docker
:
docker
:
-
image
:
ghcci/x86_64-linux
:0.0.8
-
image
:
ghcci/x86_64-linux
-deb8:0.1
environment
:
environment
:
BUILD_FLAVOUR
:
devel2
BUILD_FLAVOUR
:
devel2
<<
:
*buildenv
<<
:
*buildenv
TEST_ENV
:
x86_64-linux-debug
TEST_ENV
:
x86_64-linux-deb
8-deb
ug
SKIP_PERF_TESTS
:
YES
SKIP_PERF_TESTS
:
YES
steps
:
steps
:
-
checkout
-
checkout
...
@@ -269,14 +292,37 @@ jobs:
...
@@ -269,14 +292,37 @@ jobs:
-
*store_test_artifacts
-
*store_test_artifacts
-
*push_perf_note
-
*push_perf_note
"
validate-i386-linux"
:
"
validate-i386-linux-deb9"
:
resource_class
:
xlarge
docker
:
-
image
:
ghcci/i386-linux-deb9:0.1
environment
:
<<
:
*buildenv
GHC_COLLECTOR_FLAVOR
:
i386-linux-deb9
TEST_ENV
:
i386-linux-deb9
steps
:
-
checkout
-
*set_git_identity
-
*prepare
-
*submodules
-
*boot
-
*configure_unix_32
-
*make
-
*bindist
-
*store_bindist
-
*test
-
*store_test_results
-
*store_test_artifacts
-
*push_perf_note
"
validate-i386-linux-deb8"
:
resource_class
:
xlarge
resource_class
:
xlarge
docker
:
docker
:
-
image
:
ghcci/i386-linux
:0.0.7
-
image
:
ghcci/i386-linux
-deb8:0.1
environment
:
environment
:
<<
:
*buildenv
<<
:
*buildenv
GHC_COLLECTOR_FLAVOR
:
i386-linux
GHC_COLLECTOR_FLAVOR
:
i386-linux
TEST_ENV
:
i386-linux
TEST_ENV
:
i386-linux
-deb8
steps
:
steps
:
-
checkout
-
checkout
-
*set_git_identity
-
*set_git_identity
...
@@ -292,14 +338,40 @@ jobs:
...
@@ -292,14 +338,40 @@ jobs:
-
*store_test_artifacts
-
*store_test_artifacts
-
*push_perf_note
-
*push_perf_note
"
validate-x86_64-fedora"
:
"
validate-x86_64-linux-centos7"
:
resource_class
:
xlarge
docker
:
-
image
:
ghcci/x86_64-linux-centos7:0.1
environment
:
<<
:
*buildenv
GHC_COLLECTOR_FLAVOR
:
x86_64-centos7
LANG
:
en_US.UTF-8
TEST_ENV
:
x86_64-centos7
# Sphinx is too old
BUILD_SPHINX_PDF
:
NO
steps
:
-
checkout
-
*set_git_identity
-
*prepare
-
*submodules
-
*boot
-
*configure_unix
-
*make
-
*bindist
-
*store_bindist
-
*test
-
*store_test_results
-
*store_test_artifacts
-
*push_perf_note
"
validate-x86_64-linux-fedora27"
:
resource_class
:
xlarge
resource_class
:
xlarge
docker
:
docker
:
-
image
:
ghcci/x86_64-linux-fedora
:0.0.17
-
image
:
ghcci/x86_64-linux-fedora
27:0.1
environment
:
environment
:
<<
:
*buildenv
<<
:
*buildenv
GHC_COLLECTOR_FLAVOR
:
x86_64-fedora
GHC_COLLECTOR_FLAVOR
:
x86_64-fedora
TEST_ENV
:
x86_64-
fedora
TEST_ENV
:
x86_64-
linux-fedora27
steps
:
steps
:
-
checkout
-
checkout
-
*set_git_identity
-
*set_git_identity
...
@@ -315,13 +387,13 @@ jobs:
...
@@ -315,13 +387,13 @@ jobs:
-
*store_test_artifacts
-
*store_test_artifacts
-
*push_perf_note
-
*push_perf_note
"
slow-validate-x86_64-linux"
:
"
slow-validate-x86_64-linux
-deb8
"
:
resource_class
:
xlarge
resource_class
:
xlarge
docker
:
docker
:
-
image
:
ghcci/x86_64-linux
:0.0.8
-
image
:
ghcci/x86_64-linux
-deb8:0.1
environment
:
environment
:
<<
:
*buildenv
<<
:
*buildenv
GHC_COLLECTOR_FLAVOR
:
x86_64-linux
GHC_COLLECTOR_FLAVOR
:
x86_64-linux
-deb8
steps
:
steps
:
-
checkout
-
checkout
-
*prepare
-
*prepare
...
@@ -338,17 +410,23 @@ workflows:
...
@@ -338,17 +410,23 @@ workflows:
version
:
2
version
:
2
validate
:
validate
:
jobs
:
jobs
:
-
validate-x86_64-linux
:
-
validate-x86_64-linux
-deb8
:
*trigger_on_tags
*trigger_on_tags
# FreeBSD disabled: https://github.com/haskell/unix/issues/102
# FreeBSD disabled: https://github.com/haskell/unix/issues/102
# - validate-x86_64-freebsd
# - validate-x86_64-freebsd
-
validate-x86_64-darwin
:
-
validate-x86_64-darwin
:
*trigger_on_tags
*trigger_on_tags
-
validate-x86_64-linux-llvm
-
validate-x86_64-linux-deb8-llvm
-
validate-i386-linux
:
-
validate-i386-linux-deb8
:
*trigger_on_tags
-
validate-x86_64-linux-deb9
:
*trigger_on_tags
-
validate-i386-linux-deb9
:
*trigger_on_tags
-
validate-x86_64-linux-centos7
:
*trigger_on_tags
*trigger_on_tags
-
validate-hadrian-x86_64-linux
-
validate-hadrian-x86_64-linux
-deb8
-
validate-x86_64-
fedora
:
-
validate-x86_64-
linux-fedora27
:
*trigger_on_tags
*trigger_on_tags
nightly
:
nightly
:
...
@@ -360,10 +438,10 @@ workflows:
...
@@ -360,10 +438,10 @@ workflows:
only
:
only
:
-
master
-
master
jobs
:
jobs
:
-
validate-x86_64-linux-unreg
-
validate-x86_64-linux-
deb8-
unreg
-
validate-x86_64-linux-llvm
-
validate-x86_64-linux-
deb8-
llvm
-
validate-x86_64-linux-debug
-
validate-x86_64-linux-deb
8-deb
ug
-
slow-validate-x86_64-linux
-
slow-validate-x86_64-linux
-deb8
notify
:
notify
:
webhooks
:
webhooks
:
...
...
.circleci/images/i386-linux/Dockerfile
→
.circleci/images/i386-linux
-deb8
/Dockerfile
View file @
6eab7cda
File moved
.circleci/images/update-image
View file @
6eab7cda
...
@@ -17,13 +17,13 @@ fi
...
@@ -17,13 +17,13 @@ fi
name
=
$1
name
=
$1
version
=
$2
version
=
$2
versions
=
"
$(
curl
-s
https://registry.hub.docker.com/v1/repositories/
$repo
/
$name
/tags | jq
-r
.[].name
)
"
#
versions="$(curl -s https://registry.hub.docker.com/v1/repositories/$repo/$name/tags | jq -r .[].name)"
if
echo
"
$versions
"
|
grep
$version
>
/dev/null
;
then
#
if echo "$versions" | grep $version > /dev/null; then
echo
"Version
$version
of
$name
already exists"
#
echo "Version $version of $name already exists"
echo
"Previous versions are:"
#
echo "Previous versions are:"
echo
"
$versions
"
#
echo "$versions"
exit
1
#
exit 1
fi
#
fi
docker build
$name
-t
$repo
/
$name
:
$version
docker build
$name
-t
$repo
/
$name
:
$version
docker push
$repo
/
$name
:
$version
docker push
$repo
/
$name
:
$version
...
...
.circleci/images/x86_64-linux-centos7/Dockerfile
0 → 100644
View file @
6eab7cda
FROM
centos:7
ENV
LANG C.UTF-8
# Core build utilities
RUN
yum
-y
install
coreutils binutils which git make
\
automake autoconf gcc perl python3 texinfo xz lbzip2
\
patch openssh-clients
sudo
zlib-devel sqlite
\
ncurses-compat-libs gmp-devel ncurses-devel gcc-c++ findutils
\
curl wget jq
# Python 3
RUN
yum
install
-y
https://centos7.iuscommunity.org/ius-release.rpm
;
\
yum
install
-y
python34u python34u-libs
# Documentation tools
RUN
yum
-y
install
python-sphinx
\
texlive texlive-latex texlive-xetex
\
texlive-collection-latex texlive-collection-latexrecommended
\
texlive-xetex-def texlive-collection-xetex
\
python-sphinx-latex dejavu-sans-fonts dejavu-serif-fonts
\
dejavu-sans-mono-fonts
# This is in the PATH when I ssh into the CircleCI machine but somehow
# sphinx-build isn't found during configure unless we explicitly
# add it here as well; perhaps PATH is being overridden by CircleCI's
# infrastructure?
ENV
PATH /usr/libexec/python3-sphinx:$PATH
# systemd isn't running so remove it from nsswitch.conf
# Failing to do this will result in testsuite failures due to
# non-functional user lookup (#15230).
RUN
sed
-i
-e
's/systemd//g'
/etc/nsswitch.conf
# Install GHC and cabal
RUN
cd
/tmp
&&
curl https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-deb8-linux.tar.xz |
tar
-Jx
RUN
cd
/tmp/ghc-8.4.2
&&
./configure
--prefix
=
/opt/ghc/8.4.2
RUN
cd
/tmp/ghc-8.4.2
&&
make
install
RUN
mkdir
-p
/opt/cabal/bin
RUN
cd
/opt/cabal/bin
&&
curl https://www.haskell.org/cabal/release/cabal-install-2.2.0.0/cabal-install-2.2.0.0-x86_64-unknown-linux.tar.gz |
tar
-zx
ENV
PATH /opt/ghc/8.4.2/bin:/opt/cabal/bin:$PATH
# Create a normal user.
RUN
adduser ghc
--comment
"GHC builds"
RUN
echo
"ghc ALL = NOPASSWD : ALL"
>
/etc/sudoers.d/ghc
USER
ghc
WORKDIR
/home/ghc/
# Install Alex, Happy, and HsColor with Cabal
RUN
cabal update
&&
\
cabal
install
hscolour happy alex
ENV
PATH /home/ghc/.cabal/bin:$PATH
CMD
["bash"]
.circleci/images/x86_64-linux/Dockerfile
→
.circleci/images/x86_64-linux
-deb8
/Dockerfile
View file @
6eab7cda
File moved
.circleci/images/x86_64-linux-deb9/Dockerfile
0 → 100644
View file @
6eab7cda
FROM
debian:stretch
ENV
LANG C.UTF-8
RUN
apt-get update
-qq
;
apt-get
install
-qy
gnupg
RUN
echo
'deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main'
>
/etc/apt/sources.list.d/ghc.list
RUN
apt-key adv
--keyserver
keyserver.ubuntu.com
--recv-keys
F6F88286
RUN
apt-get update
-qq
# Core build utilities
RUN
apt-get
install
-qy
zlib1g-dev libtinfo-dev libsqlite3-0 libsqlite3-dev
\
ca-certificates g++ git make automake autoconf gcc
\
perl python3 texinfo xz-utils lbzip2 patch openssh-client
sudo
\
jq wget curl
# Documentation tools
RUN
apt-get
install
-qy
python3-sphinx texlive-xetex texlive-latex-extra
# Basic Haskell toolchain
RUN
apt-get
install
-qy
cabal-install-2.2 ghc-8.4.2
ENV
PATH /home/ghc/.local/bin:/opt/cabal/2.2/bin:/opt/ghc/8.4.2/bin:$PATH
# Create a normal user.
RUN
adduser ghc
--gecos
"GHC builds"
--disabled-password
RUN
echo
"ghc ALL = NOPASSWD : ALL"
>
/etc/sudoers.d/ghc
USER
ghc
# Build Haskell tools
RUN
cabal update
&&
\
cabal
install
hscolour happy alex
ENV
PATH /home/ghc/.cabal/bin:$PATH
WORKDIR
/home/ghc/
CMD
["bash"]
.circleci/images/x86_64-linux-fedora/Dockerfile
→
.circleci/images/x86_64-linux-fedora
27
/Dockerfile
View file @
6eab7cda
File moved
.gitlab-ci.yml
View file @
6eab7cda
...
@@ -22,7 +22,7 @@ before_script:
...
@@ -22,7 +22,7 @@ before_script:
key
:
hadrian
key
:
hadrian
paths
:
paths
:
-
cabal-cache
-
cabal-cache
image
:
ghcci/x86_64-linux
:0.0.8
image
:
ghcci/x86_64-linux
-deb8:0.1
.validate-x86_64-linux-hadrian
:
.validate-x86_64-linux-hadrian
:
extends
:
.validate-hadrian
extends
:
.validate-hadrian
...
@@ -50,7 +50,7 @@ before_script:
...
@@ -50,7 +50,7 @@ before_script:
-
|
-
|
THREADS=`mk/detect-cpu-count.sh`
THREADS=`mk/detect-cpu-count.sh`
make test THREADS=$THREADS JUNIT_FILE=../../junit.xml
make test THREADS=$THREADS JUNIT_FILE=../../junit.xml
image
:
ghcci/x86_64-linux
:0.0.8
image
:
ghcci/x86_64-linux
-deb8:0.1
artifacts
:
artifacts
:
when
:
always
when
:
always
reports
:
reports
:
...
@@ -142,7 +142,7 @@ validate-x86_64-linux:
...
@@ -142,7 +142,7 @@ validate-x86_64-linux:
############################################################
############################################################
.circleci
:
.circleci
:
image
:
ghcci/x86_64-linux
:0.0.8
image
:
ghcci/x86_64-linux
-deb8:0.1
artifacts
:
artifacts
:
when
:
always
when
:
always
reports
:
reports
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment