From 70e269a12e0c099358c4b20759cb7f593027b102 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Fri, 25 Oct 2019 12:08:04 +0200 Subject: Update to 2019.07 --- tools/star/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tools') diff --git a/tools/star/Makefile b/tools/star/Makefile index 661b299..5053d54 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -2,9 +2,9 @@ # eg. 2017.07 etc. # Occasionally (mis-)used to pull in fixes (see 'lastmin-fixes.txt') # eg. 2017.07-9-gc0abee7 etc. -RAKUDO_VER = 2019.03.1 -NQP_VER = 2019.03 -MOAR_VER = 2019.03 +RAKUDO_VER = 2019.07 +NQP_VER = 2019.07 +MOAR_VER = 2019.07 STAR_REL = rakudo-star-$(VERSION) STAR_TGZ = $(STAR_REL).tar.gz -- cgit v1.1 From e6540c6202405d599736f2c6cb428823031142fd Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Fri, 25 Oct 2019 12:11:35 +0200 Subject: Set release version --- tools/build/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/build/Makefile.in b/tools/build/Makefile.in index 7152691..59f9480 100644 --- a/tools/build/Makefile.in +++ b/tools/build/Makefile.in @@ -3,7 +3,7 @@ MOAR_DIR = moarvm NQP_DIR = nqp RAKUDO_DIR = rakudo -STAR_VERSION = 2019.03 +STAR_VERSION = 2019.07 # install location PREFIX_DIR = @prefix@ -- cgit v1.1 From 9f30d89eb842c5a926b8f07e3eb1bb8b8ef453b4 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Wed, 30 Oct 2019 13:16:09 +0100 Subject: Use --/test for module installations --- tools/build/module-install.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/build/module-install.pl b/tools/build/module-install.pl index 9f7e038..bba3234 100644 --- a/tools/build/module-install.pl +++ b/tools/build/module-install.pl @@ -16,7 +16,7 @@ while (<>) { $exit ||= system $perl6bin, $zefbin, '--/build-depends', '--/test-depends', '--/depends', '--/p6c', '--/metacpan', '--/cpan', - '--force', 'install', "./modules$path_sep$module"; + '--force', '--/test', 'install', "./modules$path_sep$module"; } exit $exit; -- cgit v1.1 From 176e22fe71baecd761a4af70ad0247e641f170ed Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Wed, 30 Oct 2019 14:34:04 +0100 Subject: Attempt to build this for GitLab CI --- tools/star/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tools') diff --git a/tools/star/Makefile b/tools/star/Makefile index 5053d54..0026a5c 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -74,11 +74,11 @@ manifest: modules/DBIish/lib patch: patch -p1 < patches/star-ver.patch -tarball: manifest patch +tarball: manifest [ -n "$(VERSION)" ] || ( echo "\nTry '$(MAKE) release VERSION=yyyy.mm'\n\n"; exit 1 ) [ -d $(STAR_REL) ] || ln -s . $(STAR_REL) - $(PREFIX) $(STAR_REL)/ MANIFEST | \ - $(TAR) -zcv -T - -f $(STAR_TGZ) + mkdir -p "release" + $(PREFIX) $(STAR_REL)/ MANIFEST | $(TAR) -zcv -T - -f "release/$(STAR_TGZ)" rm $(STAR_REL) release: tarball -- cgit v1.1 From b0f2bc55aec9df26426a1ed8db257cde2cba6db6 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Wed, 30 Oct 2019 17:18:58 +0100 Subject: Remove verbosity for tar --- tools/star/Makefile | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/star/Makefile b/tools/star/Makefile index 0026a5c..afb49ec 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -77,8 +77,18 @@ patch: tarball: manifest [ -n "$(VERSION)" ] || ( echo "\nTry '$(MAKE) release VERSION=yyyy.mm'\n\n"; exit 1 ) [ -d $(STAR_REL) ] || ln -s . $(STAR_REL) + mkdir -p "release" - $(PREFIX) $(STAR_REL)/ MANIFEST | $(TAR) -zcv -T - -f "release/$(STAR_TGZ)" + + $(PREFIX) $(STAR_REL)/ MANIFEST \ + | grep -Ev '^$(STAR_REL)/release/' \ + | $(TAR) -zc -T - -f "release/$(STAR_TGZ)" + rm $(STAR_REL) release: tarball + +clean: + rm -fr rakudo + rm -fr nqp + rm -fr MoarVM -- cgit v1.1 From 7fbb7cf183ee0395d5188d0c81c30d0bb6a7de7e Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Wed, 30 Oct 2019 17:22:00 +0100 Subject: Update MOAR_REVISION location --- tools/lib/NQP/Configure.pm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'tools') diff --git a/tools/lib/NQP/Configure.pm b/tools/lib/NQP/Configure.pm index 2f67bf1..b63fffb 100644 --- a/tools/lib/NQP/Configure.pm +++ b/tools/lib/NQP/Configure.pm @@ -221,8 +221,7 @@ sub gen_nqp { my $sdkroot = $options{'sdkroot'} || ''; my $startdir = cwd(); - my $PARROT_REVISION = 'nqp/tools/build/PARROT_REVISION'; - my $MOAR_REVISION = 'nqp/tools/build/MOAR_REVISION'; + my $MOAR_REVISION = 'nqp/tools/templates/MOAR_REVISION'; my (%impls, %need); -- cgit v1.1 From 6e361ed3ac8942e9e26fae1fcf5b69257dbfaf4c Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Wed, 30 Oct 2019 18:26:44 +0100 Subject: Bump version in Makefile --- tools/star/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tools') diff --git a/tools/star/Makefile b/tools/star/Makefile index afb49ec..3bc3214 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -2,9 +2,9 @@ # eg. 2017.07 etc. # Occasionally (mis-)used to pull in fixes (see 'lastmin-fixes.txt') # eg. 2017.07-9-gc0abee7 etc. -RAKUDO_VER = 2019.07 -NQP_VER = 2019.07 -MOAR_VER = 2019.07 +RAKUDO_VER = 2019.07.1 +NQP_VER = 2019.07.1 +MOAR_VER = 2019.07.1 STAR_REL = rakudo-star-$(VERSION) STAR_TGZ = $(STAR_REL).tar.gz -- cgit v1.1 From ebeecae4d53c410a46eb98aa76a0dc653d33aed1 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Wed, 30 Oct 2019 20:10:52 +0100 Subject: Update NQP to load from personal dist server --- tools/star/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/star/Makefile b/tools/star/Makefile index 3bc3214..6415344 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -15,7 +15,7 @@ RAKUDO_TGZ = rakudo-$(RAKUDO_VER).tar.gz RAKUDO_URL = https://rakudo.perl6.org/downloads/rakudo/$(RAKUDO_TGZ) RAKUDO_SRC = $(SRC_DIR)/$(RAKUDO_TGZ) NQP_TGZ = nqp-$(NQP_VER).tar.gz -NQP_URL = https://rakudo.perl6.org/downloads/nqp/$(NQP_TGZ) +NQP_URL = https://dist.tyil.nl/raku/nqp/$(NQP_TGZ) NQP_SRC = $(SRC_DIR)/$(NQP_TGZ) MOAR_TGZ = MoarVM-$(MOAR_VER).tar.gz MOAR_URL = https://www.moarvm.org/releases/$(MOAR_TGZ) -- cgit v1.1 From afd561f013ce7686501437ce59d1a4da7636df46 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Wed, 30 Oct 2019 20:19:18 +0100 Subject: Make more tars less verbose --- tools/star/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tools') diff --git a/tools/star/Makefile b/tools/star/Makefile index 6415344..a47664a 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -32,7 +32,7 @@ always: rakudo: nqp $(RAKUDO_SRC) mkdir rakudo - $(TAR) -C rakudo --strip-components 1 -xvzf $(RAKUDO_SRC) + $(TAR) -C rakudo --strip-components 1 -xzf $(RAKUDO_SRC) $(RAKUDO_SRC): mkdir -p $(SRC_DIR) @@ -40,7 +40,7 @@ $(RAKUDO_SRC): nqp: moar $(NQP_SRC) mkdir nqp - $(TAR) -C nqp --strip-components 1 -xvzf $(NQP_SRC) + $(TAR) -C nqp --strip-components 1 -xzf $(NQP_SRC) $(NQP_SRC): mkdir -p $(SRC_DIR) @@ -48,7 +48,7 @@ $(NQP_SRC): moar: $(MOAR_SRC) mkdir MoarVM - $(TAR) -C MoarVM --strip-components 1 -xvzf $(MOAR_SRC) + $(TAR) -C MoarVM --strip-components 1 -xzf $(MOAR_SRC) $(MOAR_SRC): mkdir -p $(SRC_DIR) -- cgit v1.1 From 55732cc3554911f23a7f1c34c724af07d2b8e03b Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 31 Oct 2019 00:46:39 +0100 Subject: Clean src on make clean --- tools/star/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'tools') diff --git a/tools/star/Makefile b/tools/star/Makefile index a47664a..6efd2c6 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -92,3 +92,4 @@ clean: rm -fr rakudo rm -fr nqp rm -fr MoarVM + rm -fr src -- cgit v1.1 From 71be27c335746af2cb71d04e32d791086a599523 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 31 Oct 2019 01:23:05 +0100 Subject: Include both files and directories in tarball --- tools/star/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/star/Makefile b/tools/star/Makefile index 6efd2c6..9d74422 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -67,7 +67,7 @@ manifest: modules/DBIish/lib $(PREFIX) MoarVM/ MoarVM/MANIFEST >>MANIFEST git submodule foreach --quiet 'git ls-files | $(PREFIX) $$path/' >>MANIFEST grep -v -f tools/star/MANIFEST.exclude MANIFEST >MANIFEST.1 - $(PERL) -n -e 'chomp; -f && print "$$_\n"' MANIFEST.1 >MANIFEST + $(PERL) -n -e 'chomp; print "$$_\n"' MANIFEST.1 >MANIFEST sort -o MANIFEST MANIFEST rm MANIFEST.1 -- cgit v1.1 From 2a4183659e70fec3d4d63cfbe48b9aed387adbdf Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 31 Oct 2019 02:14:41 +0100 Subject: Update zef command for installing bundled modules --- tools/build/module-install.pl | 2 -- 1 file changed, 2 deletions(-) (limited to 'tools') diff --git a/tools/build/module-install.pl b/tools/build/module-install.pl index bba3234..0bd4cee 100644 --- a/tools/build/module-install.pl +++ b/tools/build/module-install.pl @@ -14,8 +14,6 @@ while (<>) { next if /^\s*(#|$)/; my ($module) = /(\S+)/; $exit ||= system $perl6bin, $zefbin, - '--/build-depends', '--/test-depends', '--/depends', - '--/p6c', '--/metacpan', '--/cpan', '--force', '--/test', 'install', "./modules$path_sep$module"; } -- cgit v1.1 From 5511989854671aa28628a43cf723603211297241 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 31 Oct 2019 12:01:34 +0100 Subject: Use a work directory --- tools/star/Makefile | 90 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 56 insertions(+), 34 deletions(-) (limited to 'tools') diff --git a/tools/star/Makefile b/tools/star/Makefile index 9d74422..a1b879a 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -9,7 +9,9 @@ MOAR_VER = 2019.07.1 STAR_REL = rakudo-star-$(VERSION) STAR_TGZ = $(STAR_REL).tar.gz -SRC_DIR = src +SRC_DIR = work/src +WORKDIR ?= $(shell pwd)/work/rakudo-star-$(VERSION) +RELEASE_DIR = $(shell pwd)/work/release RAKUDO_TGZ = rakudo-$(RAKUDO_VER).tar.gz RAKUDO_URL = https://rakudo.perl6.org/downloads/rakudo/$(RAKUDO_TGZ) @@ -26,29 +28,27 @@ PREFIX = $(PERL) $(CURDIR)/tools/star/prefix.pl WGET = wget TAR = tar -all: rakudo nqp moar manifest - -always: +all: rakudo nqp moarvm manifest rakudo: nqp $(RAKUDO_SRC) - mkdir rakudo - $(TAR) -C rakudo --strip-components 1 -xzf $(RAKUDO_SRC) + mkdir -p $(WORKDIR)/rakudo + $(TAR) -C $(WORKDIR)/rakudo --strip-components 1 -xzf $(RAKUDO_SRC) $(RAKUDO_SRC): mkdir -p $(SRC_DIR) $(WGET) $(RAKUDO_URL) -O $(RAKUDO_SRC) -nqp: moar $(NQP_SRC) - mkdir nqp - $(TAR) -C nqp --strip-components 1 -xzf $(NQP_SRC) +nqp: moarvm $(NQP_SRC) + mkdir -p $(WORKDIR)/nqp + $(TAR) -C $(WORKDIR)/nqp --strip-components 1 -xzf $(NQP_SRC) $(NQP_SRC): mkdir -p $(SRC_DIR) $(WGET) $(NQP_URL) -O $(NQP_SRC) -moar: $(MOAR_SRC) - mkdir MoarVM - $(TAR) -C MoarVM --strip-components 1 -xzf $(MOAR_SRC) +moarvm: $(MOAR_SRC) + mkdir -p $(WORKDIR)/MoarVM + $(TAR) -C $(WORKDIR)/MoarVM --strip-components 1 -xzf $(MOAR_SRC) $(MOAR_SRC): mkdir -p $(SRC_DIR) @@ -59,37 +59,59 @@ modules/DBIish/lib: git submodule init git submodule update -manifest: modules/DBIish/lib - echo MANIFEST >MANIFEST - git ls-files >>MANIFEST - $(PREFIX) rakudo/ rakudo/MANIFEST >>MANIFEST - $(PREFIX) nqp/ nqp/MANIFEST >>MANIFEST - $(PREFIX) MoarVM/ MoarVM/MANIFEST >>MANIFEST - git submodule foreach --quiet 'git ls-files | $(PREFIX) $$path/' >>MANIFEST - grep -v -f tools/star/MANIFEST.exclude MANIFEST >MANIFEST.1 - $(PERL) -n -e 'chomp; print "$$_\n"' MANIFEST.1 >MANIFEST - sort -o MANIFEST MANIFEST - rm MANIFEST.1 +manifest: + printf "%s\n" MANIFEST >> "$(WORKDIR)/MANIFEST" + + # Add an assortment of files from this repository + git ls-files | grep -E '^docs' >> "$(WORKDIR)/MANIFEST" + git ls-files | grep -E '^modules' >> "$(WORKDIR)/MANIFEST" + git ls-files | grep -E '^ports' >> "$(WORKDIR)/MANIFEST" + git ls-files | grep -E '^tools' >> "$(WORKDIR)/MANIFEST" + + printf "%s\n" build_msi.bat >> "$(WORKDIR)/MANIFEST" + printf "%s\n" Configure.pl >> "$(WORKDIR)/MANIFEST" + printf "%s\n" LICENSE >> "$(WORKDIR)/MANIFEST" + printf "%s\n" README.md >> "$(WORKDIR)/MANIFEST" + + # Add the 3 core parts for Raku + cd -- "$(WORKDIR)" && $(PREFIX) rakudo/ rakudo/MANIFEST >> "$(WORKDIR)/MANIFEST" + cd -- "$(WORKDIR)" && $(PREFIX) nqp/ nqp/MANIFEST >> "$(WORKDIR)/MANIFEST" + cd -- "$(WORKDIR)" && $(PREFIX) MoarVM/ MoarVM/MANIFEST >> "$(WORKDIR)/MANIFEST" + + # Add ecosystem modules + git submodule foreach --quiet 'git ls-files | $(PREFIX) $$path/' >> $(WORKDIR)/MANIFEST + + # Remove explicitly removed files + grep -v -f tools/star/MANIFEST.exclude $(WORKDIR)/MANIFEST > $(WORKDIR)/MANIFEST.1 + mv -- "$(WORKDIR)/MANIFEST.1" "$(WORKDIR)/MANIFEST" + + # Clean up whitespace + $(PERL) -n -e 'chomp; print "$$_\n"' $(WORKDIR)/MANIFEST > $(WORKDIR)/MANIFEST.1 + mv -- "$(WORKDIR)/MANIFEST.1" "$(WORKDIR)/MANIFEST" + + # Sort the MANIFEST + sort -o $(WORKDIR)/MANIFEST $(WORKDIR)/MANIFEST patch: patch -p1 < patches/star-ver.patch tarball: manifest [ -n "$(VERSION)" ] || ( echo "\nTry '$(MAKE) release VERSION=yyyy.mm'\n\n"; exit 1 ) - [ -d $(STAR_REL) ] || ln -s . $(STAR_REL) - - mkdir -p "release" - $(PREFIX) $(STAR_REL)/ MANIFEST \ - | grep -Ev '^$(STAR_REL)/release/' \ - | $(TAR) -zc -T - -f "release/$(STAR_TGZ)" + mkdir -p "$(RELEASE_DIR)" + cp -r modules "$(WORKDIR)/." + cp -r docs "$(WORKDIR)/." + cp -r ports "$(WORKDIR)/." + cp -r tools "$(WORKDIR)/." + cp LICENSE "$(WORKDIR)/." + cp bundle/README.md "$(WORKDIR)/." + cp bundle/build_msi.bat "$(WORKDIR)/." + cp bundle/Configure.pl "$(WORKDIR)/." - rm $(STAR_REL) + cd -- work && $(PREFIX) $(STAR_REL)/ "$(WORKDIR)/MANIFEST" \ + | $(TAR) -zc -T - -f "$(RELEASE_DIR)/$(STAR_TGZ)" release: tarball clean: - rm -fr rakudo - rm -fr nqp - rm -fr MoarVM - rm -fr src + rm -fr work -- cgit v1.1 From e0416bf1a9bf810e2ca1591b88c9fc4508fd33c5 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Fri, 1 Nov 2019 11:48:30 +0100 Subject: Update release documentation --- tools/star/mac-dmg.pod | 142 ------------------ tools/star/release-guide.pod | 350 ------------------------------------------- tools/star/windows-msi.pod | 155 ------------------- 3 files changed, 647 deletions(-) delete mode 100644 tools/star/mac-dmg.pod delete mode 100644 tools/star/release-guide.pod delete mode 100644 tools/star/windows-msi.pod (limited to 'tools') diff --git a/tools/star/mac-dmg.pod b/tools/star/mac-dmg.pod deleted file mode 100644 index 7ebc64a..0000000 --- a/tools/star/mac-dmg.pod +++ /dev/null @@ -1,142 +0,0 @@ -=head1 Guide to building DMG packages - -Rakudo Star releases are based on Rakudo compiler releases. -Since some time is often needed for module updates and testing -after each Rakudo compiler release, the timing of Star releases -varies from one release to the next. The dmg packages are based -on these Star releases. - -Also, while the Rakudo compiler issues monthly releases; Star -releases are free to choose a longer release cycle. Star releases -are also free to choose older releases of the compiler, NQP, and/or -MoarVM. The goal is to balance end-user stability needs with -progress being made on the compiler, modules, and other runtime -components. - -=head2 Steps to create an DMG package - -A C<.dmg> is a file extension used for an Apple Disk Image which is the most -popular way of running an installer on the Mac desktop - -If this is your first time releasing, B. That way you can ask questions and clear up any confusions before -you're in the thick of it. - -If you have done this before, you might want to check for and read any changes -to this release guide since your last run. - -=over 4 - -=item Step 0 - -Download and install C from Apple if you don't already have the C C -compiler installed. This process was tested on OS X 10.11.x as a build system -using clang-700.1.76 and the result is known to run on as least far back as OS -X 10.9 (and probably further). - -=item Step 1 - -Use your browser to download the latest star release, replace YYYY.MM by year and month: -https://rakudo.perl6.org/downloads/star/rakudo-star-YYYY.MM.tar.gz - -Unpack this C<.tar.gz> to your hard disk. You will get a folder C, again -YYYY.MM is year and month of the star release. - -=item Step 2 - -Change the path to the directory created in the previous step, and run: - - cd ports/darwin_dmg - perl package_darwin_dmg.pl --build -v YYYY MM - -This should automatically compile the MoarVM version of star and all modules and create the C<.dmg> - -In theory this all that needs doing and you can jump to step 4 below. - -=item Step 3 - -Watch the scrollback for errors. - -If the build is interrupted you will have to manually C in the top -level directory before rerunning the previous step. - -Note the C<--build> option will automatically delete the binary destination -directory of C if it exists before running but leaves it in -place after finishing. - -Omitting the C<--build> option will just rebuild the C<.dmg> from C which is useful when debugging the final stage of C<.dmg> build since it's much faster. - -=item Step 4 - -A correct build will create C - -To sanity test - - open Temp_build/Rakudo-Star-YYYY-MM.dmg - -This should automount C and open a Finder window with a -background image of Camelia and "Drag the Rakudo Folder to Applications" -containing a README.txt, a Rakudo folder, Docs folder and a folder representing -a sym link to Applications. - -Delete the directory used to create the C<.dmg>. - - rm -rf /Applications/Rakudo - -Now dragging the C folder to the Applications Link folder (with arrow) -should repopulate C. - -Append your C as suggested in the C and look for reasonable output -from the following kind of commands. - - perl6 -e "say 'hello'" - zef list --installed - p6doc -l - -=item Step 5 - -Stop the release process if you see serious issues with no obvious fix and post -them to the IRC channel or mailing list. If you alter scripts recommit them. - -=item Step 6 - -Generate a SHA256 sum: - - sha256sum rakudo-star-YYYY.MM.dmg | cut -f1 -d" " > rakudo-star-YYYY.MM.dmg.sha256.txt - -=item Step 7 - -Generate a GPG signature for the DMG file: - - gpg --armor --detach-sig rakudo-star-YYYY.MM.dmg - -This will create C. - -=item Step 8 - -Upload the dmg and SHA256 to L: - - rsync -avz rakudo-star-YYYY.MM.dmg* rakudo@www.p6c.org:public_html/downloads/star - -If you don't have permission to do this step, please ask one(pmichaud, jnthn, -masak, PerlJam/perlpilot, tadzik, moritz) on C<#perl6> to do it for you. - -=item Step 9 - -Publicize the dmg packages in the appropriate places. These include: - -=over 4 - -=item * rakudo.org - -=item * #perl6 - -=back - -=item Step 10 - -You're done! Celebrate with the appropriate amount of fun. - -=back - -=cut diff --git a/tools/star/release-guide.pod b/tools/star/release-guide.pod deleted file mode 100644 index 584ee17..0000000 --- a/tools/star/release-guide.pod +++ /dev/null @@ -1,350 +0,0 @@ -=head1 Guide to Rakudo Star releases - -Rakudo Star releases are based on Rakudo compiler releases. -Since some time is often needed for module updates and testing -after each Rakudo compiler release, the timing of Star releases -varies from one release to the next. - -Also, while the Rakudo compiler issues monthly releases, Star -releases are free to choose a longer release cycle. Star releases -are also free to choose older releases of the compiler, NQP, or -MoarVM. The goal is to balance end-user stability needs with -progress being made on the compiler, modules, and other runtime -components. Currently, Star is on a quarterly release cycle. - -=head2 Steps to create a release - -If this is your first time releasing, B. That way you can ask questions and clear up and confusions before -you're in the thick of it. - -If you have done this before, you might want to check for and read any changes -to this release guide since your last run. - -Any time this guide tells you to commit changes, you may also push them if you -wish to do so. Step 8 will make sure you do this regardless. - -=over 4 - -=item Step 0 - -Make sure you have a working C binary in your C<$PATH>. Refer to -L for how to do that. The exact version -isn't very important at the moment, it just shouldn't be a year out of date. - -=item Step 1 - -Clone the git@github.com:rakudo/star repository. - - $ git clone git@github.com:rakudo/star - -If you already have a clone of rakudo/star, make sure it is in sync -with github: - - $ git checkout master - $ git pull origin master - $ git submodule sync - $ git submodule update --init --recursive - -Verify that - - $ git status - -reports a clean repository. - -=item Step 2 - -Change to the star repository directory and edit the first three -lines of F to indicate the desired releases of -Rakudo, NQP, and MoarVM to use. - -Usually that means the last Rakudo release, the NQP version that is in the -released Rakudo's F file, and the MoarVM version that -is in the F file that is included in the NQP -release. - - $ cd star - $ vi tools/star/Makefile - -=item Step 3 - -Run C to populate the star directory -with the needed tarballs and module repositories for building Rakudo Star: - - $ make -f tools/star/Makefile - -You may at times be prompted for your SSH key/pass combo. - -Assuming the Makefile ran successfully, you should now commit your changes. - - $ git commit tools - -=item Step 4 - -If there are any new modules to be added, use C to add -its repo to the modules/ directory. Also add the module directory -name to the C file. - - $ git submodule add git@github.com:user/acme-example modules/acme-example - $ echo acme-example >>modules/MODULES.txt - $ git commit . -m "Added acme-example to installed modules." - -=item Step 5 - -Verify that all of the git submodules are at the desired commit -for the Star release. To bring all modules up to the current -C branch, one can do: - - # pull master in each submodule dir - $ git submodule foreach git pull origin master - -Create a temporary file as a basis for the module changelog to be -included in release announcement below: - - $ git diff --submodule=log > /tmp/mod.txt - -Then you may commit your update of the submodules: - - # commit submodules state to star repo - $ git commit modules - -=item Step 6 - -If one doesn't already exist, create a release announcement in -C. You can often use the previous release's -file as a starting point, updating the release number, version -information, name, etc., as appropriate. Be sure to pay attention -to any changes listed in Rakudo's ChangeLog. - - $ vi docs/announce/YYYY.MM.md - $ git add docs/announce/YYYY.MM.md - $ git commit docs - -The module changelog temporary file above can be used to help with -the corresponding section in the announcement. - -At this point it is strongly advised that you push your changes so far, to get -feedback on your announcement while you do other steps. - - $ git push - -=item Step 7 - -Update the release number in the C and C files. - - $ vi README tools/build/Makefile.in - $ git commit README tools/build/Makefile.in - -=item Step 8 - -Make sure any locally modified files have been pushed -back to github. - - $ git status - $ git push - -=item Step 9 - -Create a candidate release tarball: - - $ make -f tools/star/Makefile release VERSION=2012.08 - -This will create a tarball C in the -current directory. - -=item Step 10 - -Unpack the tarball somewhere else, and do a test build/install: - - $ mkdir work - $ cd work - $ tar xvfz ../rakudo-star-2012.08.tar.gz - $ cd rakudo-star-2012.08 - $ perl Configure.pl --gen-moar - $ make install - $ make rakudo-test - $ make rakudo-spectest - $ make modules-test - -If there are failures in any of C, C, or -C, then do your best to fix them and return to step 8. - -STOP THE RELEASE PROCESS (i.e., do not issue a release) if there -are any errors that you're unable to fix. File issue tickets -(https://github.com/rakudo/star/issues) for failing tests -and report them to C<#perl6>. - -=item Step 11 - -Tag the release by its release month ("YYYY.MM"). - - $ git tag -s -a -m"tag release YYYY.MM" YYYY.MM # e.g. 2012.08 - $ git push --tags - -The C<-s> tells git to sign the release with your PGP/GPG key, so it will -likely ask you for the passphrase of your secret key. Note some versions of -git/gpg don't correctly prompt for passphrase or display a meaningful error -when it's absent. - -If you have no PGP key, you might need to -L. Should -that prove impossible, you can omit the C<-s> from the command line. - -Also sign the release tarball with GPG and a suitable key -eg. C - -Generate a SHA256 sum eg. - - $ sha256sum rakudo-star-2018.01.tar.gz | cut -f1 -d" " > rakudo-star-2018.01.tar.gz.sha256.txt - -=item Step 12 - -Upload the release tarball to L and L: - - $ scp rakudo-star-2012.08.tar.gz rakudo@rakudo.org:public_html/downloads/star - -Also upload the detached signature eg. C -and sha256 sum eg. C - -If you don't have permission to do this step, please ask one of the core devs -(pmichaud, jnthn, masak, PerlJam/perlpilot, tadzik, or moritz) on C<#perl6> to do -it for you. - -=item Step 13 - -Commit announcement to the rakudo.org repo automatically by running the following -command. You will need C in the C and to C if you don't -have it. - -You can also make and commit the post manually, but if you do, be sure -to add C<%% title:> and C<%% date:> metadate to the top of the file: - - cd $(mktemp -d) && - git clone git@github.com:perl6/rakudo.org/. && - ./push-latest-rakudo-star-announcement.p6 2018.01 - -You will also have to bump versions manually in C in -the rakudo.org repo. - -Publicize the release in the appropriate places. These include: - -=over 4 - -=item * http://perl6.org/ - -=item * perl6-users@perl.org - -=item * perl6-language@perl.org - -=item * perl6-compiler@perl.org - -=item * http://en.wikipedia.org/wiki/Rakudo_Perl_6 (latest release date is mentioned in the main text) - -=item * http://en.wikipedia.org/wiki/Perl_6 - -=back - -Actively ask others to advertise the release as well. This includes their social -media accounts and blogs. Notable places include: - -=over 4 - -=item * L - -=item * L - -=item * Reddit: L, L, -and L - -=item * L - -=item * L - -=back - -=item Step 14 - -Add this release and your name to the list of releases at the end of this -document (F). - - $ vim tools/star/release-guide.pod - $ git add tools/star/release-guide.pod - $ git commit -m 'note YYYY.MM release in release-guide.pod - -=item Step 15 - -You're done! Celebrate with the appropriate amount of fun. - -=back - -=head2 Star Releases - - Release Release Manager - ======= =============== - - 2010.07 pmichaud - 2010.08 pmichaud - 2010.09 pmichaud - 2010.10 pmichaud - 2010.11 pmichaud - 2010.12 pmichaud - - 2011.01 pmichaud - 2011.04 pmichaud - 2011.07 pmichaud - - 2012.01 jnthn - 2012.02 jnthn - 2012.04 moritz - 2012.05 moritz - 2012.06 moritz - 2012.07 pmichaud - 2012.08 pmichaud - 2012.09 pmichaud - 2012.10 jnthn - 2012.11 moritz - 2012.12 moritz - - 2013.01 moritz - 2013.02 moritz - 2013.05 pmichaud - 2013.08 moritz - 2013.09 moritz - 2013.10 lue - 2013.11 moritz - 2013.12 lue - - 2014.01 tadzik - 2014.03 FROGGS - 2014.04 jnthn - 2014.08 FROGGS - 2014.09 FROGGS - 2014.12 moritz - - 2015.01 moritz - 2015.02 moritz - 2015.03 moritz - 2015.06 FROGGS - 2015.07 moritz - 2015.09 moritz - 2015.11 moritz - - 2016.01 FROGGS - 2016.04 stmuk - 2016.07 stmuk - 2016.10 stmuk - 2016.11 stmuk - - 2017.01 stmuk - 2017.04 stmuk - 2017.07 stmuk - 2017.10 stmuk - - 2018.01 stmuk - 2018.04 stmuk - 2018.06 stmuk - 2018.10 stmuk - - 2019.03 hankache, clarkema - -=cut diff --git a/tools/star/windows-msi.pod b/tools/star/windows-msi.pod deleted file mode 100644 index 8674c22..0000000 --- a/tools/star/windows-msi.pod +++ /dev/null @@ -1,155 +0,0 @@ -=head1 Guide to build MSI packages - -Rakudo Star releases are based on Rakudo compiler releases. -Since some time is often needed for module updates and testing -after each Rakudo compiler release, the timing of Star releases -varies from one release to the next. The MSI packages are based -on these Star releases. - -Also, while the Rakudo compiler issues monthly releases; Star -releases are free to choose a longer release cycle. Star releases -are also free to choose older releases of the compiler, NQP, and/or -MoarVM. The goal is to balance end-user stability needs with -progress being made on the compiler, modules, and other runtime -components. - -=head2 Steps to create an MSI package - -If this is your first time releasing, B. -That way you can ask questions and clear up and confusions before you're in the -thick of it. - -If you have done this before, you might want to check for and read any changes -to this release guide since your last run. - -=over 4 - -=item Step 0 - -Download and install WiX Toolset, if needed adjust the PATH environment -variable to point to its bin directory. The tools C, C and C -should be available now. - -Install ActivePerl and make sure it is in C. C should give a -sensible output. - -If you do not have the C compiler C installed yet, install the Microsoft -Visual C++ Express for version 2010 or perhaps newer. - -Finally, install the Windows Software Development Kit (SDK) for your Windows -version. - -An alternative to ActivePerl and the Microsoft toolchain is to use Strawberry -Perl which ships with GCC and a mingw toolchain. Run these tools under C -and replace all following references to C by C. - -=item Step 1 - -Make sure there is no C directory, as this will be our installation -target. If there is one, remove it, perhaps after creating backup. - -=item Step 2 - -Use your browser to download the latest star release, replace YYYY.MM by year -and month: https://rakudo.perl6.org/downloads/star/rakudo-star-YYYY.MM.tar.gz - -Unpack this C<.tar.gz> to your hard disk. You will get a folder -C, again YYYY.MM is year and month of the star release. - -=item Step 3 - -Run the Command Line for Visual Studio from the start menu. Alternatively you -can run C followed by C. - -In either case, this should return a valid path: - - echo %VSINSTALLDIR% - -=item Step 4 - -Change the path to the directory created in step 2, and run: - - perl Configure.pl --prefix=C:\rakudo --gen-moar - -This will create a Makefile and will start to compile the MoarVM backend. - -=item Step 5 - -Compile NQP and Rakudo by doing: - - nmake install - -This will also precompile all modules and install binaries like C. - -=item Step 6 - -Finally create the MSI package. - - nmake msi - -(Note if you are using Strawberry Perl's GCC use C at this point) - -Depending on your architecture you either rename that msi to: - - rakudo-star-YYYY.MM-x86 (no JIT).msi - -or: - - rakudo-star-YYYY.MM-x86_64 (JIT).msi - - -=item Step 7 - -Delete your C folder and make sure it got deleted. Then run the just -created installer, and do some sanity tests: - - perl6 -e "say $*KERNEL.bits" - zef list --installed - zef install openssl - -If you are using Strawberry Perl then move its directory temporarily to a -different name in order to check all DDLs are correctly installed in the -C folder. - -=item Step 8 - -Stop the release process if step 7 failed. Post any issues to the irc channel -or mailing list. - -=item Step 9 - -Generate a SHA256 sum eg. - - $ sha256sum "rakudo-star-YYYY.MM-x86_64 (JIT).msi" | cut -f1 -d" " > "rakudo-star-YYYY.MM-x86_64 (JIT).msi.sha256.txt" - -=item Step 10 - -Upload the msi package to L and L: - - scp "rakudo-star-YYYY.MM-x86 (no JIT).msi" rakudo@rakudo.org:public_html/downloads/star - scp "rakudo-star-YYYY.MM-x86 (no JIT).msi" rakudo@www.p6c.org:public_html/downloads/star - -If you don't have permission to do this step, please ask one(pmichaud, jnthn, -masak, PerlJam/perlpilot, tadzik, moritz) on C<#perl6> to do it for you. - -Also upload the sha256 sum eg. C - -=item Step 11 - -Publicize the msi packages in the appropriate places. These include: - -=over 4 - -=item * rakudo.org - -=item * #perl6 - -=back - -=item Step 12 - -You're done! Celebrate with the appropriate amount of fun. - -=back - -=cut -- cgit v1.1 From 01762e8554ef4548239d468ee9d43bd75f57bbaa Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 7 Nov 2019 16:01:42 +0100 Subject: Revert changes to module-install.pl Linenoise fails to install for everyone, and this script may be the cause. To test this out, the easiest thing to do would be reverting this file, and see if things work fine now. --- tools/build/module-install.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/build/module-install.pl b/tools/build/module-install.pl index 0bd4cee..9f7e038 100644 --- a/tools/build/module-install.pl +++ b/tools/build/module-install.pl @@ -14,7 +14,9 @@ while (<>) { next if /^\s*(#|$)/; my ($module) = /(\S+)/; $exit ||= system $perl6bin, $zefbin, - '--force', '--/test', 'install', "./modules$path_sep$module"; + '--/build-depends', '--/test-depends', '--/depends', + '--/p6c', '--/metacpan', '--/cpan', + '--force', 'install', "./modules$path_sep$module"; } exit $exit; -- cgit v1.1 From 68a028f13521a2c8718079d4f4965ae92c09fee9 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Mon, 11 Nov 2019 11:23:32 +0100 Subject: Rewrite module-install After some debugging, it appeared to be the options to disable certain sources that caused issues with the command from running in the old fashion. Let's see if keeping the rest is going to fix Linenoise. --- tools/build/module-install.pl | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) (limited to 'tools') diff --git a/tools/build/module-install.pl b/tools/build/module-install.pl index 9f7e038..af6845f 100644 --- a/tools/build/module-install.pl +++ b/tools/build/module-install.pl @@ -2,21 +2,31 @@ use warnings; use strict; + my $perl6bin = shift @ARGV; my $zefbin = shift @ARGV; +my $exit = 0; +my $path_sep = $^O eq 'MSWin32' ? '\\' : '/'; -my $exit = 0; +while (<>) { + # Skip comments + next if /^\s*(#|$)/; -my $path_sep = "/"; -$path_sep = "\\" if ( $^O eq 'MSWin32' ); + # Extract only the module name from the current line + my ($module) = /(\S+)/; -while (<>) { - next if /^\s*(#|$)/; - my ($module) = /(\S+)/; - $exit ||= system $perl6bin, $zefbin, - '--/build-depends', '--/test-depends', '--/depends', - '--/p6c', '--/metacpan', '--/cpan', - '--force', 'install', "./modules$path_sep$module"; + # Create the command list + my @cmd = ( + $perl6bin, $zefbin, + '--/build-depends', '--/test-depends', '--/depends', + '--force', 'install', "./modules$path_sep$module" + ); + + # Show the command that's going to be ran, for debugging purposes + printf "@cmd\n"; + + # Actually run the command + $exit ||= system "@cmd"; } exit $exit; -- cgit v1.1 From 7324559471ba0fe65b0e79b4fac8a9983dca20ea Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 5 Dec 2019 14:57:56 +0100 Subject: Bump component versions --- tools/star/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tools') diff --git a/tools/star/Makefile b/tools/star/Makefile index a1b879a..dff0044 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -2,9 +2,9 @@ # eg. 2017.07 etc. # Occasionally (mis-)used to pull in fixes (see 'lastmin-fixes.txt') # eg. 2017.07-9-gc0abee7 etc. -RAKUDO_VER = 2019.07.1 -NQP_VER = 2019.07.1 -MOAR_VER = 2019.07.1 +RAKUDO_VER = 2019.11 +NQP_VER = 2019.11 +MOAR_VER = 2019.11 STAR_REL = rakudo-star-$(VERSION) STAR_TGZ = $(STAR_REL).tar.gz -- cgit v1.1 From 7ddedb42b8dd97c5e4f97f74d0787f48b3580dda Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 5 Dec 2019 14:58:53 +0100 Subject: Bump Rakudo Star version --- tools/build/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/build/Makefile.in b/tools/build/Makefile.in index 59f9480..9befd0c 100644 --- a/tools/build/Makefile.in +++ b/tools/build/Makefile.in @@ -3,7 +3,7 @@ MOAR_DIR = moarvm NQP_DIR = nqp RAKUDO_DIR = rakudo -STAR_VERSION = 2019.07 +STAR_VERSION = 2019.11 # install location PREFIX_DIR = @prefix@ -- cgit v1.1 From 5939f06f4dc29cd3c39b625c00dfa8fd5d1374d8 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 5 Dec 2019 15:11:48 +0100 Subject: Update the source URLs in the Makefile to use upstream --- tools/star/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/star/Makefile b/tools/star/Makefile index dff0044..3744e21 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -17,7 +17,7 @@ RAKUDO_TGZ = rakudo-$(RAKUDO_VER).tar.gz RAKUDO_URL = https://rakudo.perl6.org/downloads/rakudo/$(RAKUDO_TGZ) RAKUDO_SRC = $(SRC_DIR)/$(RAKUDO_TGZ) NQP_TGZ = nqp-$(NQP_VER).tar.gz -NQP_URL = https://dist.tyil.nl/raku/nqp/$(NQP_TGZ) +NQP_URL = https://rakudo.perl6.org/downloads/nqp/$(NQP_TGZ) NQP_SRC = $(SRC_DIR)/$(NQP_TGZ) MOAR_TGZ = MoarVM-$(MOAR_VER).tar.gz MOAR_URL = https://www.moarvm.org/releases/$(MOAR_TGZ) -- cgit v1.1 From 009aa7e91793ce43e73324dad22bed9917500756 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 5 Dec 2019 16:06:11 +0100 Subject: Skip testing phase when installing Rakudo Star --- tools/build/module-install.pl | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'tools') diff --git a/tools/build/module-install.pl b/tools/build/module-install.pl index af6845f..eadb99e 100644 --- a/tools/build/module-install.pl +++ b/tools/build/module-install.pl @@ -17,9 +17,15 @@ while (<>) { # Create the command list my @cmd = ( - $perl6bin, $zefbin, - '--/build-depends', '--/test-depends', '--/depends', - '--force', 'install', "./modules$path_sep$module" + $perl6bin, + $zefbin, + '--/build-depends', + '--/depends', + '--/test', + '--/test-depends', + '--force', + 'install', + "./modules$path_sep$module" ); # Show the command that's going to be ran, for debugging purposes -- cgit v1.1 From fe8e97975194a47772ecdaef4462cd99d9e5c891 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 5 Dec 2019 16:55:08 +0100 Subject: Update modules-test script --- tools/build/modules-test.pl | 49 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 12 deletions(-) (limited to 'tools') diff --git a/tools/build/modules-test.pl b/tools/build/modules-test.pl index 396f066..1c8239b 100644 --- a/tools/build/modules-test.pl +++ b/tools/build/modules-test.pl @@ -1,5 +1,8 @@ #! perl +use warnings; +use strict; + use Cwd; use Getopt::Long; @@ -9,17 +12,39 @@ my $base = shift @ARGV; my $perl6 = shift @ARGV; while (<>) { - next if /^\s*(#|$)/; - my ($moduledir) = /(\S+)/; - print "Testing modules/$moduledir with $perl6...\n"; - if (-d "$base/modules/$moduledir/t") { - chdir("$base/modules/$moduledir"); - system('prove', $verbose ? '-v' : (), '-e', $perl6, '-r', 't'); - } - else { - print "...no t/ directory found.\n"; - } - print "\n"; + # Skip comments + next if /^\s*(#|$)/; + + # Extract only the module name from the current line + my ($moduledir) = /(\S+)/; + + # Run the tests through prove + if (-d "$base/modules/$moduledir/t") { + chdir("$base/modules/$moduledir"); + + my @cmd = ( + 'prove', + $verbose ? '-v' : (), + '-e', $perl6, + '-r', + 't', + ); + + # Show the command that's going to be ran, for debugging purposes + print "@cmd\n"; + + # Actually run the command + my $exit = system "@cmd"; + + # Exit early if any errors occurred + exit 1 if $exit; + } + else { + print "...no t/ directory found.\n"; + } + + print "\n"; } -0; +# If we reach this, no errors have been found +exit 0; -- cgit v1.1 From 1308da5062946cd56573894af89e98ba8ce45ac5 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 5 Dec 2019 21:05:02 +0100 Subject: Update modules-test to show cwd --- tools/build/modules-test.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/build/modules-test.pl b/tools/build/modules-test.pl index 1c8239b..3d70fcf 100644 --- a/tools/build/modules-test.pl +++ b/tools/build/modules-test.pl @@ -31,7 +31,7 @@ while (<>) { ); # Show the command that's going to be ran, for debugging purposes - print "@cmd\n"; + print "[" . getcwd . "] @cmd\n"; # Actually run the command my $exit = system "@cmd"; -- cgit v1.1 From 08eca0b69dc4ac7d9c2c0e012d441899298ca70c Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 5 Dec 2019 23:04:31 +0100 Subject: Don't reinstall modules for testing --- tools/build/Makefile.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tools') diff --git a/tools/build/Makefile.in b/tools/build/Makefile.in index 9befd0c..5ce58e2 100644 --- a/tools/build/Makefile.in +++ b/tools/build/Makefile.in @@ -67,12 +67,12 @@ modules-install-m: rakudo-install modules-test: @backend_modules_test@ verbose-modules-test: @backend_modules_test@ -modules-test-j: modules-install-j +modules-test-j: $(PERL) tools/build/modules-test.pl $(CURDIR) $(DESTDIR)$(PERL6_J_INSTALL) $(MODULES) verbose-modules-test-j: modules-install-j $(PERL) tools/build/modules-test.pl --verbose $(CURDIR) $(DESTDIR)$(PERL6_J_INSTALL) $(MODULES) -modules-test-m: modules-install-m +modules-test-m: $(PERL) tools/build/modules-test.pl $(CURDIR) $(DESTDIR)$(PERL6_M_INSTALL) $(MODULES) verbose-modules-test-m: modules-install-m $(PERL) tools/build/modules-test.pl --verbose $(CURDIR) $(DESTDIR)$(PERL6_M_INSTALL) $(MODULES) -- cgit v1.1 From 2df30e9b1c45d22371f9d7fd3e504e6cbffe5250 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Sun, 8 Dec 2019 15:41:42 +0100 Subject: Make modules-test not exit after first failure --- tools/build/modules-test.pl | 49 +++++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 19 deletions(-) (limited to 'tools') diff --git a/tools/build/modules-test.pl b/tools/build/modules-test.pl index 3d70fcf..c4b9d00 100644 --- a/tools/build/modules-test.pl +++ b/tools/build/modules-test.pl @@ -10,6 +10,7 @@ GetOptions('verbose' => \my $verbose); my $base = shift @ARGV; my $perl6 = shift @ARGV; +my @failures; while (<>) { # Skip comments @@ -18,33 +19,43 @@ while (<>) { # Extract only the module name from the current line my ($moduledir) = /(\S+)/; + if (! -d "$base/modules/$moduledir/t") { + print "[" . getcwd . "] ...no t/ directory found.\n"; + next; + } + # Run the tests through prove - if (-d "$base/modules/$moduledir/t") { - chdir("$base/modules/$moduledir"); + chdir("$base/modules/$moduledir"); - my @cmd = ( - 'prove', - $verbose ? '-v' : (), - '-e', $perl6, - '-r', - 't', - ); + my @cmd = ( + 'prove', + $verbose ? '-v' : (), + '-e', $perl6, + '-r', + 't', + ); - # Show the command that's going to be ran, for debugging purposes - print "[" . getcwd . "] @cmd\n"; + # Show the command that's going to be ran, for debugging purposes + print "[" . getcwd . "] @cmd\n"; - # Actually run the command - my $exit = system "@cmd"; + # Actually run the command + my $exit = system "@cmd"; - # Exit early if any errors occurred - exit 1 if $exit; - } - else { - print "...no t/ directory found.\n"; + # Exit early if any errors occurred + if ($exit) { + push @failures, $_; } print "\n"; } # If we reach this, no errors have been found -exit 0; +if (@failures) { + print "The following modules failed their tests:\n"; + + foreach (@failures) { + print "- $_\n"; + } + + exit 1; +} -- cgit v1.1 From e05c0291f51b420c63234e49ff41a0245160446e Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Tue, 28 Jan 2020 15:37:07 +0100 Subject: Bump component versions --- tools/build/Makefile.in | 2 +- tools/star/Makefile | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'tools') diff --git a/tools/build/Makefile.in b/tools/build/Makefile.in index 5ce58e2..29d5071 100644 --- a/tools/build/Makefile.in +++ b/tools/build/Makefile.in @@ -3,7 +3,7 @@ MOAR_DIR = moarvm NQP_DIR = nqp RAKUDO_DIR = rakudo -STAR_VERSION = 2019.11 +STAR_VERSION = 2020.01 # install location PREFIX_DIR = @prefix@ diff --git a/tools/star/Makefile b/tools/star/Makefile index 3744e21..33679a8 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -2,9 +2,9 @@ # eg. 2017.07 etc. # Occasionally (mis-)used to pull in fixes (see 'lastmin-fixes.txt') # eg. 2017.07-9-gc0abee7 etc. -RAKUDO_VER = 2019.11 -NQP_VER = 2019.11 -MOAR_VER = 2019.11 +RAKUDO_VER = 2020.01 +NQP_VER = 2020.01 +MOAR_VER = 2020.01.1 STAR_REL = rakudo-star-$(VERSION) STAR_TGZ = $(STAR_REL).tar.gz -- cgit v1.1 From 8f5849052f6ba7f9115f7f68a1fd0e7eaa1fe7b8 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Tue, 28 Jan 2020 15:37:37 +0100 Subject: Update Makefile to use GitHub as source for Rakudo and NQP --- tools/star/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/star/Makefile b/tools/star/Makefile index 33679a8..b2d4673 100644 --- a/tools/star/Makefile +++ b/tools/star/Makefile @@ -15,9 +15,10 @@ RELEASE_DIR = $(shell pwd)/work/release RAKUDO_TGZ = rakudo-$(RAKUDO_VER).tar.gz RAKUDO_URL = https://rakudo.perl6.org/downloads/rakudo/$(RAKUDO_TGZ) +RAKUDO_URL = https://github.com/rakudo/rakudo/releases/download/$(RAKUDO_VER)/$(RAKUDO_TGZ) RAKUDO_SRC = $(SRC_DIR)/$(RAKUDO_TGZ) NQP_TGZ = nqp-$(NQP_VER).tar.gz -NQP_URL = https://rakudo.perl6.org/downloads/nqp/$(NQP_TGZ) +NQP_URL = https://github.com/perl6/nqp/releases/download/$(NQP_VER)/$(NQP_TGZ) NQP_SRC = $(SRC_DIR)/$(NQP_TGZ) MOAR_TGZ = MoarVM-$(MOAR_VER).tar.gz MOAR_URL = https://www.moarvm.org/releases/$(MOAR_TGZ) -- cgit v1.1