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 perl - 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 make - cd -- work/install script: - make rakudo-test Rakudo Spectest: stage: Test image: alpine:latest before_script: - apk add --no-cache make - cd -- work/install script: - make rakudo-spectest Community Modules: stage: Test image: alpine:latest before_script: - apk add --no-cache build-base - cd -- work/install script: - make 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 - 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" # TODO: Release the tarball to some Raku server