version: 2 variables: macos: &macos macos: xcode: "10.2.0" linux: &linux machine: true install-rakudo: &install-rakudo run: name: Build and install rakudo command: | git clone https://github.com/rakudo/rakudo.git $HOME/rakudo cd $HOME/rakudo perl Configure.pl --gen-moar --gen-nqp --make-install test-zef: &test-zef run: name: Run tests command: | perl6 -I. bin/zef --version # run xtests perl6 -I. xt/repository.t perl6 -I. xt/install.t # test explicitly via `prove t/*` and `perl6 t/foo.t && perl6 t/bar.t` # both should work, since all our CI envs have prove perl6 -I. bin/zef --debug --/tap-harness --/prove --perl6-test test . perl6 -I. bin/zef --debug --/tap-harness --prove --/perl6-test test . # run relative local path test + install perl6 -I. bin/zef --debug install . # test uninstall perl6 -I. bin/zef uninstall zef # run absolute local path test + install perl6 -I. bin/zef install $PWD # change path to make sure next `zef` commands aren't using any files in cwd or lib/ (cd .. && zef update) # test informational commands zef --version zef --help zef locate Zef::CLI zef locate lib/Zef/CLI.pm6 zef browse zef bugtracker --/open zef info zef # test bells and whistles zef --debug test . zef --debug search Base64 zef --debug rdepends Base64 zef --debug depends Cro::SSL zef --debug fetch Base64 # test installing from what `fetch` put in ::LocalCache zef --debug --/cpan --/p6c install Base64 zef --debug --max=10 list zef --debug --installed list zef --debug --force-install install Base64 # test tar + upgrade zef --debug install https://github.com/ugexe/Perl6-PathTools/archive/0434191c56e0f3254ab1d756d90f9191577de5a0.tar.gz zef --debug upgrade PathTools # test zip zef --debug install https://github.com/ugexe/Perl6-Text--Table--Simple/archive/v0.0.3.zip # test remote git repo + tag zef --debug install https://github.com/ugexe/Perl6-Text--Table--Simple.git@v0.0.4 # Test self contained installation zef install Distribution::Common --/test zef install Distribution::Common::Remote -to=inst#foo --contained --/test zef uninstall Distribution::Common perl6 -I inst#foo -M Distribution::Common::Remote::Github -e '' zef --/confirm nuke TempDir StoreDir RootDir zef update cached # test single repository update; should be 0 after previous nuke perl6 -I /home/circleci/project /home/circleci/project/bin/zef --/confirm nuke site home jobs: test-linux: <<: *linux environment: ZEF_PLUGIN_DEBUG: 1 ZEF_BUILDPM_DEBUG: 1 PATH: /home/circleci/rakudo/install/share/perl6/site/bin:/home/circleci/rakudo/install/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin steps: - checkout - *install-rakudo - *test-zef #test-macos: # <<: *macos # environment: # ZEF_PLUGIN_DEBUG: 1 # ZEF_BUILDPM_DEBUG: 1 # PATH: /Users/circleci/rakudo/install/share/perl6/site/bin:/Users/circleci/rakudo/install/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin # steps: # - checkout # - *install-rakudo # - *test-zef workflows: version: 2 test: jobs: - test-linux #- test-macos