Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 87 additions & 24 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,19 @@ jobs:
paths:
- docs

test_linux32:
test_linux32_std:
machine: true
environment:
<<: *env
TRAVIS_OS_NAME: linux
ARCH: i386
ARCH_CMD: linux32
steps: *ci_steps
steps:
- checkout
- run: bin/ci prepare_system
- run: echo 'export CURRENT_TAG="$CIRCLE_TAG"' >> $BASH_ENV
- run: bin/ci prepare_build
- run: bin/ci with_build_env 'make std_spec threads=1'

test_darwin:
macos:
Expand Down Expand Up @@ -112,7 +117,7 @@ jobs:
- run: |
git clone https://github.com/crystal-lang/distribution-scripts.git ~/distribution-scripts
cd ~/distribution-scripts
git checkout e942880dda3b100ff1143cce88b579bbec3f05b9
git checkout aca99b2078a171d8b4acb91a984ee21b163ee9f7
# persist relevant information for build process
- run: |
cd ~/distribution-scripts
Expand Down Expand Up @@ -227,6 +232,9 @@ jobs:
source build.env
cd linux
make all64 release=true
- store_artifacts:
path: /tmp/workspace/distribution-scripts/linux/build
destination: build
- persist_to_workspace:
root: /tmp/workspace/distribution-scripts/linux/
paths:
Expand All @@ -244,6 +252,9 @@ jobs:
source build.env
cd linux
make all32 release=true
- store_artifacts:
path: /tmp/workspace/distribution-scripts/linux/build
destination: build
- persist_to_workspace:
root: /tmp/workspace/distribution-scripts/linux/
paths:
Expand Down Expand Up @@ -282,6 +293,9 @@ jobs:
bundle check || bundle install --binstubs
cd ../darwin
make
- store_artifacts:
path: /tmp/workspace/distribution-scripts/darwin/build
destination: build
- persist_to_workspace:
root: /tmp/workspace/distribution-scripts/darwin/
paths:
Expand All @@ -296,7 +310,22 @@ jobs:
cd /tmp/workspace/distribution-scripts
source build.env
cd docker
make CRYSTAL_DEB=/tmp/workspace/build/crystal_${CRYSTAL_VERSION}-1_amd64.deb
make all64 CRYSTAL_DEB=/tmp/workspace/build/crystal_${CRYSTAL_VERSION}-1_amd64.deb
- persist_to_workspace:
root: /tmp/workspace/distribution-scripts/docker/
paths:
- build

dist_docker32:
machine: true
steps:
- attach_workspace:
at: /tmp/workspace
- run: |
cd /tmp/workspace/distribution-scripts
source build.env
cd docker
make all32 CRYSTAL_DEB=/tmp/workspace/build/crystal_${CRYSTAL_VERSION}-1_i386.deb
- persist_to_workspace:
root: /tmp/workspace/distribution-scripts/docker/
paths:
Expand Down Expand Up @@ -329,6 +358,9 @@ jobs:
source build.env
cd snapcraft
CRYSTAL_RELEASE_LINUX64_TARGZ=/tmp/workspace/build/crystal-$CRYSTAL_VERSION-1-linux-x86_64.tar.gz make
- store_artifacts:
path: /tmp/workspace/distribution-scripts/snapcraft/build
destination: build
- persist_to_workspace:
root: /tmp/workspace/distribution-scripts/snapcraft/
paths:
Expand Down Expand Up @@ -359,6 +391,9 @@ jobs:
cd docs
gunzip -c /tmp/workspace/build/docker-${CRYSTAL_VERSION}-build.tar.gz | docker image load
make CRYSTAL_DOCKER_IMAGE=${DOCKER_REPOSITORY}:${DOCKER_TAG}-build
- store_artifacts:
path: /tmp/workspace/distribution-scripts/docs/build
destination: build
- persist_to_workspace:
root: /tmp/workspace/distribution-scripts/docs/
paths:
Expand Down Expand Up @@ -395,6 +430,27 @@ jobs:
- run: bin/ci prepare_build
- run: bin/ci build

test_dist_linux32_std_on_docker:
machine: true
environment:
<<: *env
TRAVIS_OS_NAME: linux
ARCH: i386
ARCH_CMD: linux32
steps:
- attach_workspace:
at: /tmp/workspace
- run: |
cd /tmp/workspace/distribution-scripts
source ./build.env
gunzip -c /tmp/workspace/build/docker-${CRYSTAL_VERSION}-i386.tar.gz | docker image load
export DOCKER_TEST_PREFIX="crystallang/crystal:$DOCKER_TAG-i386" >> $BASH_ENV
- checkout
- run: bin/ci prepare_system
- run: echo 'export CURRENT_TAG="$CIRCLE_TAG"' >> $BASH_ENV
- run: bin/ci prepare_build
- run: bin/ci with_build_env 'make std_spec threads=1'

workflows:
version: 2
test_all_platforms:
Expand All @@ -405,7 +461,7 @@ workflows:
ignore:
- /release\/.+/
- /.*\bci\b.*/
- test_linux32:
- test_linux32_std:
filters: *unless_maintenance
- test_darwin:
filters: *unless_maintenance
Expand All @@ -429,7 +485,7 @@ workflows:
ignore: /.*/
tags:
only: /.*/
- test_linux32:
- test_linux32_std:
filters: *per_tag
- test_darwin:
filters: *per_tag
Expand All @@ -439,10 +495,6 @@ workflows:
filters: *per_tag
- prepare_common:
filters: *per_tag
requires:
- test_linux
- test_darwin
- check_format
- prepare_tagged:
filters: *per_tag
requires:
Expand All @@ -463,6 +515,10 @@ workflows:
filters: *per_tag
requires:
- dist_linux
- dist_docker32:
filters: *per_tag
requires:
- dist_linux32
- dist_snap:
filters: *per_tag
requires:
Expand All @@ -475,6 +531,10 @@ workflows:
filters: *per_tag
requires:
- dist_docker
- test_dist_linux32_std_on_docker:
filters: *per_tag
requires:
- dist_docker32
# Tagged release do not publish docker images since they are unsigned
# publish_docker:
- dist_docs:
Expand All @@ -487,7 +547,6 @@ workflows:
- dist_linux
- dist_linux32
- dist_darwin
- dist_docker
- dist_snap
- dist_docs

Expand All @@ -501,15 +560,11 @@ workflows:
- master
jobs:
- test_linux
- test_linux32
- test_linux32_std
- test_darwin
- test_preview_mt
- check_format
- prepare_common:
requires:
- test_linux
- test_darwin
- check_format
- prepare_common
- prepare_nightly:
requires:
- prepare_common
Expand All @@ -525,6 +580,9 @@ workflows:
- dist_docker:
requires:
- dist_linux
- dist_docker32:
requires:
- dist_linux32
- dist_snap:
requires:
- dist_linux
Expand All @@ -534,6 +592,9 @@ workflows:
- test_dist_linux_on_docker:
requires:
- dist_docker
- test_dist_linux32_std_on_docker:
requires:
- dist_docker32
- publish_docker:
requires:
- dist_docker
Expand All @@ -545,7 +606,6 @@ workflows:
- dist_linux
- dist_linux32
- dist_darwin
- dist_docker
- dist_snap
- dist_docs

Expand All @@ -557,7 +617,7 @@ workflows:
only:
- /release\/.+/
- /.*\bci\b.*/
- test_linux32:
- test_linux32_std:
filters: *maintenance
- test_darwin:
filters: *maintenance
Expand All @@ -567,10 +627,6 @@ workflows:
filters: *maintenance
- prepare_common:
filters: *maintenance
requires:
- test_linux
- test_darwin
- check_format
- prepare_maintenance:
filters: *maintenance
requires:
Expand All @@ -591,6 +647,10 @@ workflows:
filters: *maintenance
requires:
- dist_linux
- dist_docker32:
filters: *maintenance
requires:
- dist_linux32
- dist_snap:
filters: *maintenance
requires:
Expand All @@ -603,6 +663,10 @@ workflows:
filters: *maintenance
requires:
- dist_docker
- test_dist_linux32_std_on_docker:
filters: *maintenance
requires:
- dist_docker32
- publish_docker:
filters: *maintenance
requires:
Expand All @@ -617,7 +681,6 @@ workflows:
- dist_linux
- dist_linux32
- dist_darwin
- dist_docker
- dist_snap
- dist_docs