Skip to content

Release Checklist 8.13

Matthew Flatt edited this page Apr 30, 2024 · 12 revisions

For one-time items such as blockers, it probably makes sense to check them off using github's markdown (that is, use the edit button to put an "x" between the square brackets. For all standard "testing" and "history" items that are copied from the template, though, please just go ahead and delete them entirely when they're done; since this list is long, it's otherwise difficult to locate the un-checked items.

[ ] Blockers: https://github.com/racket/racket/issues/4978

History Updates

  • {John Clements clements@racket-lang.org}

    • Updates:
      • Stepper Updates: update HISTORY (updates should show v8.13 as the most current version; include the text "merge" in the commit message, or tell me if there are no such changes.)
  • {Sam Tobin-Hochstadt samth@ccs.neu.edu}

    • Typed Racket Updates: update HISTORY (updates should show v8.13 as the most current version; include the text "merge" in the commit message, or tell me if there are no such changes.)

Testing

  • {Blockers}

  • {Matthew Flatt mflatt@cs.utah.edu}

    • Run the unix installer tests (in "distro-build-test" package)
    racket -l distro-build/tests/unix-installer <version>
    
  • {Sam Tobin-Hochstadt samth@ccs.neu.edu}

    • Match Tests:
    raco pkg install --skip-installed --auto racket-test
    raco test -l tests/match/main
    
    • Typed Racket Tests:
    raco pkg install --skip-installed --auto typed-racket-test
    racket -l typed-racket-test -- --all
    
    • Unit Contract Tests

      raco test -l tests/units/test-unit-contracts
      
    • Contract Region Tests

      racket -l tests/racket/contract/define-contract
      racket -l tests/racket/contract/with-contract
      
    • Class Contract Tests

      racket -l tests/racket/contract/class
      
    • EoPL Tests

      raco test -c eopl/tests
      
  • {Ryan Culpepper ryanc@racket-lang.org}

    • syntax-parse Tests

      raco test -c tests/stxparse
      
    • Data Tests

      raco test -c tests/data
      
    • Macro Debugger Tests

      racket -l tests/macro-debugger/all-tests -- --gui
      
    • RackUnit GUI Tests

      # not automated; use the Macro Stepper tests to exercise the RackUnit GUI
      
    • DB Tests

      # basic tests using sqlite3
      raco test -c tests/db
      # server-dependent tests: pg, my, etc
      ./share/pkgs/db-test/tests/db/bin/docker-util.sh pg     # start server
      racket -l tests/db/all-tests -- -t pg                   # run tests
      ./share/pkgs/db-test/tests/db/bin/docker-util.sh stop   # stop server
      
    • Rackunit Tests

      # note: some tests are intended to fail
      racket -l tests/rackunit/run-tests
      
    • SRFI Tests

      racket -l tests/srfi/run-tests
      
  • {John Clements clements@racket-lang.org}

    • Stepper Tests
    tests/stepper/run-manual-tests.rkt ;; run in DrRacket, ensure that expected failures occur.
    tests/stepper/manual-tests.txt ;; follow the instructions in this file
    
    • Release tests for (a chosen) linux release:
      • Test that a racket source release compiles on linux Hint: ../configure --enable-bc --enable-cs
      • Test that a racket-minimal source release compiles on linux
      • Test that every binary installer for linux works in normal mode (install then start racket) [FIXME: is this enough?]
      • Test that a binary installer for linux works in unix-style mode (install then start racket) [FIXME: is this enough?]
    • Release tests for the Mac OS release:
      • On MacOS: Build from sources using the minimal distribution. First thing is to delete existing libraries you have for the test version, they will otherwise collide.

        rm -r ~/Library/Racket/8.12.900/
        cd src
        mkdir build
        cd build
        ../configure
        make
        make install
        cd ../..
        

        then

        ./bin/raco pkg install --auto -i racket-lib
        ./bin/raco pkg install --auto -i main-distribution
        

        (Why not just test the full source release? "The problem is that when packages are already included in a source bundle, then it doesn't include the right versions of packages that have to be platform-specific, such as the one that supplies "libintl.9.dylib".)

      • Test that every binary installer other than the 32-bit one for MacOS works (install, start DrRacket)

    • FrTime Tests (in frtime/demos) set language level to frtime before running
      • Test that expressions with time-varying values (e.g., seconds, (build-list (modulo seconds 10) identity)) render and update as expected in the FrTime language level. Check that they continue updating even after a garbage collection.
      • Test that a sampling of graphical demos (e.g., analog-clock.rkt, tetris.rkt) work as expected, responding to relevant key and mouse events and interactions with control widgets.
    • Inspect icons
      raco docs icons # then look at them (look for icons, ensure no red error text on the page)
      
  • {Stephen Chang stchang@ccs.neu.edu}

    • Lazy Racket Tests

      raco test -l lazy/tests/main.rkt
      
    • Lazy stepper tests

      raco pkg install --skip-installed --auto htdp-test
      raco test -l tests/stepper/automatic-tests.rkt
      
  • {Mike Sperber sperber@deinprogramm.de}

Clone this wiki locally