Skip to content
Snippets Groups Projects
This project is mirrored from https://git.alchemyviewer.org/alchemy/alchemy-next.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
  1. Oct 04, 2023
  2. Oct 03, 2023
    • Nat Goodspeed's avatar
      SL-19242: Remove signing and packaging from viewer_manifest.py · 1684d624
      Nat Goodspeed authored
      for Mac and Windows. That's now done by subsequent jobs in the GitHub build.
      Remove workflow step to upload installers before signing and packaging jobs.
      
      Remove from viewer_manifest.py conditionals for 32-bit Windows or Mac.
      
      Also bump to actions/checkout@v4, per dependabot.
      1684d624
  3. Sep 11, 2023
  4. Sep 08, 2023
  5. Sep 02, 2023
    • Nat Goodspeed's avatar
      SL-19243: Skip older Mac symbol upload · 5bf2317b
      Nat Goodspeed authored
      because it moves the xcarchive.zip file away from where we later want to post
      it to GitHub.
      5bf2317b
    • Nat Goodspeed's avatar
      SL-19243: Post xcarchive.zip instead of separate symbols tarball. · 3eea556c
      Nat Goodspeed authored
      On Mac, in the CMake USE_BUGSPLAT logic, we created both xcarchive.zip (which
      is what BugSplat wants to see) and secondlife-symbols-darwin -64.tar.bz2 (which
      we don't think is used for anything). The tarball was posted to codeticket --
      but why? If the point is to manually re-upload to BugSplat in case of failure,
      we'll do better saving xcarchive.zip to codeticket.
      
      For SL-19243, posting xcarchive.zip directly supports the goal of breaking out
      the upload to BugSplat as a separate step.
      
      Anyway, since xcarchive.zip is a superset of the tarball, the tarball can be
      recreated from the zip file, whereas the zip file can't be recreated from the
      tarball without opening the .dmg installer and extracting the viewer executable.
      
      If the xcarchive.zip file exists (that is, on Mac), post that to codeticket or
      GitHub, as applicable, instead of the tarball. In fact, in the USE_BUGSPLAT
      case, don't even bother creating the tarball since we're going to ignore it.
      
      Make the new build.sh logic that insists on BUGSPLAT_USER and BUGSPLAT_PASS
      conditional on BUGSPLAT_DB.
      3eea556c
  6. Sep 01, 2023
  7. Aug 31, 2023
    • Nat Goodspeed's avatar
      SL-19243: Try to run Windows BugSplat uploads as a separate GH job. · e8cd5205
      Nat Goodspeed authored
      Upload a new Windows-exe artifact containing just the executable (needed by
      BugSplat) separately from the artifact containing the whole NSIS installer.
      This requires a new viewer_exe step output set by viewer_manifest.py.
      
      Define viewer_channel and viewer_version as build job outputs.
      
      Set viewer_channel in build.yaml when tag is interpreted.
      
      Set viewer_version in build.sh at the point when it would have posted
      viewer_version.txt to codeticket.
      
      Add a post-windows-symbols job dependent on the build job that engages
      secondlife/viewer-post-bugsplat-windows, which in turn engages
      secondlife/post-bugsplat-windows. We keep the actual upload code in a separate
      repo in case we need to modify that code before rerunning to resolve upload
      errors. If we kept the upload code in the viewer repo itself, rerunning the
      upload with modifications would necessarily require rerunning the viewer
      build, which would defeat the purpose of SL-19243.
      
      Because of that new upload job in build.yaml, skip Windows symbol uploads
      in build.sh.
      
      Use a simple (platform name) artifact name for metadata because of
      flatten_files.py's filename collision resolution.
      
      Use hyphens, not spaces, in remaining artifact names: apparently
      download-artifact doesn't much like artifacts with spaces in their names.
      
      Only run the release job when in fact there's a tag. Without that, we get
      errors. We need not create flatten_files.py's output directory beforehand
      because it will do that implicitly.
      e8cd5205
  8. Jul 18, 2023
  9. Jul 07, 2023
    • Nat Goodspeed's avatar
      SL-18837: Use multi-line GitHub outputs to upload artifacts. · 2b1a3cf9
      Nat Goodspeed authored
      Having observed installer upload failures, I discovered the warning in
      actions/upload-artifact/README.md about multiple concurrent jobs trying to
      post the same pathname to the same artifact name. Try to disambiguate
      artifacts not only for different platforms, but for different jobs running on
      the same platform.
      
      This change also reflects my understanding that an artifact is (effectively) a
      distinct zip file that can contain multiple uploaded files. Because we'll want
      to download metadata without having to download enormous installers, create a
      separate metadata artifact per platform. Similarly, symbol files can get large:
      use a third distinct artifact for symbol files.
      
      But with those artifacts defined, leverage actions/upload-artifact's ability
      to upload multiple paths to the same artifact. In build.sh, define bash arrays
      installer, metadata, symbolfile and set up so that, on exit, each is written
      to a GITHUB_OUTPUT variable with the corresponding name. This involves a
      little magic to get macOS bash 3 to indirectly access an array.
      
      These multi-line output variables are then used to drive the upload-artifact
      step for each of the defined artifacts.
      2b1a3cf9
  10. Jul 06, 2023
  11. Jun 28, 2023
  12. Sep 28, 2021
    • Nat Goodspeed's avatar
      SL-16040: Honor autobuild_{configure,build}_parameters variables. · 3e12a97a
      Nat Goodspeed authored
      The generic build.sh script honors these environment variables to specify
      parameters to the autobuild configure and autobuild build steps, respectively.
      Support them in the viewer-specific build.sh too.
      
      In the generic build.sh, autobuild_configure_parameters allows specifying
      command-line switches either for autobuild or, following --, for the
      underlying tool (in our case, CMake). In order to support that variable the
      same way here, we insert -- (as before) when autobuild_configure_parameters is
      unset or empty, since the rest of the switches *we* specify are for CMake.
      
      That means that, as with the generic build.sh, a non-empty
      autobuild_configure_parameters override must precede any switches intended for
      CMake with the -- separator.
      3e12a97a
  13. Sep 09, 2021
  14. Jul 13, 2021
  15. Jun 30, 2021
  16. Jun 29, 2021
  17. Oct 05, 2020
  18. Mar 25, 2020
  19. Jan 28, 2020
  20. Mar 02, 2019
  21. Jan 16, 2019
  22. Jan 14, 2019
  23. Aug 31, 2018
  24. Aug 30, 2018
    • Nat Goodspeed's avatar
      SL-957: Generate the expected symbols tarball even with BugSplat. · 5ff160f7
      Nat Goodspeed authored
      This is a separate step from generating and posting BugSplat symbols, since
      BugSplat needs the executable along with the symbols, and we don't need to
      consume that space in a symbols tarball.
      
      Move Mac BugSplat symbol generation logic to CMake land, the same general area
      where Breakpad symbols are generated. Add stanzas to pack up the usual tarball
      for Windows and Mac.
      
      Remove the build.sh test that suppressed uploading the symbols tarball for
      BugSplat builds.
      5ff160f7
  25. Aug 27, 2018
    • Nat Goodspeed's avatar
      SL-957: Explicitly pass VIEWER_SYMBOL_FILE from build.sh into CMake · 3f7c75b8
      Nat Goodspeed authored
      instead of relying on both indra/newview/CMakeLists.txt and build.sh
      generating the same file pathname.
      
      Make build.sh set VIEWER_SYMBOL_FILE (instead of symbolfile) in pre_build, and
      pass it to autobuild configure via -D switch. Then the uploads stanza can just
      use VIEWER_SYMBOL_FILE instead of performing its platform-sensitive case
      statement right there.
      
      Introduce VIEWER_SYMBOL_FILE CMake cache variable, default empty string.
      
      Make indra/newview/CMakeLists.txt generate_breakpad_symbols logic conditional
      on VIEWER_SYMBOL_FILE being non-empty, as well as everything else. Eliminate
      local set(VIEWER_SYMBOL_FILE) directives.
      3f7c75b8
  26. Aug 24, 2018
    • Nat Goodspeed's avatar
      DRTVWR-447: Introduce explicit CMake BUGSPLAT_DB variable. · c2178bb6
      Nat Goodspeed authored
      Define the CMake cache variable, with empty string as its default.
      
      Make build.sh pass the BUGSPLAT_DB environment variable as a CMake
      command-line variable assignment.
      
      Change CMake 'if (DEFINED ENV{BUGSPLAT_DB})' to plain 'if (BUGSPLAT_DB)'.
      
      Make CMake pass new --bugsplat switch to every one of SIX different
      invocations of viewer_manifest.py.
      
      Give llmanifest.main() function an argument to allow supplementing the base
      set of command-line switches with additional application-specific switches.
      
      In viewer_manifest.py, define new --bugsplat command-line switch and pass to
      llmanifest.main(). Instead of consulting os.environ['BUGSPLAT_DB'], consult
      self.args['bugsplat'].
      c2178bb6
Loading