stages: - Package - Build - Test - Release Tarball: stage: Package image: alpine:latest before_script: - apk add --no-cache coreutils git make perl script: - git submodule sync - git submodule update --init --recursive - bin/mkrelease.sh "$CI_COMMIT_REF_NAME" - bin/mkchecksum.sh "work/release/rakudo-star-$CI_COMMIT_REF_NAME.tar.gz" artifacts: paths: - work/release Rakudo Star: stage: Build image: alpine:latest before_script: - apk add --no-cache coreutils bash build-base git openssl-dev perl readline-dev - bin/mkchecksum.sh "work/release/rakudo-star-$CI_COMMIT_REF_NAME.tar.gz" - mkdir -p "$CI_PROJECT_DIR/work/build" - cd -- "$CI_PROJECT_DIR/work/build" - tar xzf "$CI_PROJECT_DIR/work/release/rakudo-star-$CI_COMMIT_REF_NAME.tar.gz" script: - cd -- "rakudo-star-$CI_COMMIT_REF_NAME" - perl Configure.pl --prefix="$CI_PROJECT_DIR/work/install" --backend=moar --gen-moar --make-install artifacts: paths: - work/build - work/install Rakudo Test: stage: Test image: alpine:latest before_script: - apk add --no-cache build-base perl - cd -- "work/build/rakudo-star-$CI_COMMIT_REF_NAME" script: - make rakudo-test Rakudo Spectest: stage: Test image: alpine:latest allow_failure: true before_script: - apk add --no-cache build-base git perl - cd -- "work/build/rakudo-star-$CI_COMMIT_REF_NAME" script: - make rakudo-spectest Debug Test: stage: Test image: alpine:latest before_script: - export PATH="$CI_PROJECT_DIR/work/install/bin:$CI_PROJECT_DIR/work/install/share/perl6/site/bin:$PATH" - apk add --no-cache build-base git perl script: - sh "$CI_PROJECT_DIR/dev-bin/ci-debug.sh" Community Modules: stage: Test image: alpine:latest before_script: - export PATH="$CI_PROJECT_DIR/work/install/bin:$CI_PROJECT_DIR/work/install/share/perl6/site/bin:$PATH" - apk add --no-cache build-base openssl-dev perl perl-test-harness-utils readline-dev - cd -- "work/build/rakudo-star-$CI_COMMIT_REF_NAME" script: - make verbose-modules-test Docker: stage: Release image: docker:stable services: - docker:dind before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY script: - docker build --build-arg "VERSION=$CI_COMMIT_REF_NAME" -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME" . - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME"