Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • alchemy/viewer
  • Miezhiko/alchemy-next
  • JennaHuntsman/xdg-integration
  • logue/alchemy-next
  • FelixWolf/alchemy-viewer
  • XenHat/xdg-integration
6 results
Show changes
Commits on Source (17698)
Showing
with 1438 additions and 706 deletions
---
# clang-format version 10.0.0+
Language: Cpp
# BasedOnStyle: Microsoft
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveMacros: true
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: true
AlignEscapedNewlines: Left
AlignOperands: true
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Always
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
BinPackArguments: true
BinPackParameters: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Allman
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: true
BreakConstructorInitializers: AfterColon
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 140
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DeriveLineEnding: true
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: true
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
- Regex: '.*'
Priority: 1
SortPriority: 0
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentCaseLabels: true
IndentGotoLabels: true
IndentPPDirectives: None
IndentWidth: 4
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: Inner
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 1000
PointerAlignment: Left
ReflowComments: true
SortIncludes: false
SortUsingDeclarations: true
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: true
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
Standard: Latest
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 4
UseCRLF: false
UseTab: Never
...
root = true
[*]
charset = utf-8
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[Makefile]
indent_style = tab
[*.{yml,yaml}]
indent_size = 2
* text eol=lf
# Sources
*.cpp text diff=cpp
*.h text diff=cpp
*.py text diff=python
indra/newview/llimprocessing.cpp -text
# Visual Studio
*.sln text eol=crlf
*.vcproj text eol=crlf
*.vcxproj text eol=crlf
# Documents
*.txt text
*.xml text
indra/tools/vstool/README.txt -text
indra/newview/installers/windows/FILES_ARE_UNICODE_UTF-16LE.txt -text
# Graphics
*.png binary diff=exif
*.jpg binary diff=exif
*.jpeg binary diff=exif
*.gif binary diff=exif
*.tif binary
*.tiff binary
*.ico binary
*.svg text
*.eps binary
*.tga binary
*.j2k binary
*.j2c binary
*.icns binary
*.bmp binary
*.BMP binary
# Scripts
*.sh text eol=lf
*.bat text eol=crlf
# Viewer Files
*.db2 binary
*.llm binary
# Fonts
*.ttf binary
*.otf binary
# Mac
*.nib binary
*.exe binary
# Exclude files from exporting
.gitattributes export-ignore
.gitignore export-ignore
name: Bug report
description: Viewer bug report
title: "[Bug]: "
labels: [bug, triage]
body:
- type: markdown
attributes:
value: |
- Write a descriptive bug title above.
- Search [open](https://github.com/AlchemyViewer/Alchemy/issues?q=is%3Aopen+label%3Abug+is%3Aissue) bugs to ensure that the issue has not already been identified.
- type: textarea
attributes:
label: Environment
description: About Alchemy Text
placeholder: ex. Alchemy Test 7.1.3.240191747 (64bit) ...
validations:
required: true
- type: textarea
attributes:
label: Description
description: Explain the problem.
validations:
required: true
- type: textarea
attributes:
label: Reproduction steps
description: Steps to reproduce this bug
placeholder: |
1. First step
2. Second step
Expected: ...
Actual: ...
validations:
required: true
name: Enhancement
description: New feature or enhancement
title: "[New Feature]: "
labels: [enhancement, triage]
body:
- type: markdown
attributes:
value: |
- Write a descriptive feature/enhancement title above.
- Search [open](https://github.com/AlchemyViewer/Alchemy/issues?q=is%3Aopen+label%3Aenhancement+is%3Aissue) feature/enhancement requests to ensure that the feature has not already been requested.
- type: textarea
attributes:
label: Environment
description: About Alchemy Text
placeholder: ex. Alchemy Test 7.1.3.240191747 (64bit) ...
validations:
required: true
- type: textarea
attributes:
label: Description
description: What does this feature/enhancement do? Why is it needed? Include screenshots to illustrate how it should function if possible!
validations:
required: true
name: Blank Issue
description: Don’t see your issue here? Open a blank issue.
labels: [triage]
body:
- type: textarea
attributes:
label: Description
description: Please describe your issue.
validations:
required: true
blank_issues_enabled: false
contact_links:
- name: 💬 Alchemy Viewer Discord
url: https://discordapp.com/invite/KugCgs6
about: Space for discussing and reviewing user-impacting bug reports and feature requests.
name: Build
on:
workflow_dispatch:
inputs:
release_run:
type: boolean
description: Do a release of this build
default: false
pull_request:
push:
branches: ["main", "release/*", "project/*"]
tags: ["Second_Life*"]
jobs:
# The whole point of the setvar job is that we want to set a variable once
# that will be consumed by multiple subsequent jobs. We tried setting it in
# the global env, but a job.env can't directly reference the global env
# context.
setvar:
runs-on: ubuntu-latest
outputs:
release_run: ${{ steps.setvar.outputs.release_run }}
env:
# Build with a tag like "Second_Life#abcdef0" to generate a release page
# (used for builds we are planning to deploy).
# When you want to use a string variable as a workflow YAML boolean, it's
# important to ensure it's the empty string when false. If you omit || '',
# its value when false is "false", which is interpreted as true.
RELEASE_RUN: ${{ (github.event.inputs.release_run || github.ref_type == 'tag' && startsWith(github.ref_name, 'Second_Life')) && 'Y' || '' }}
steps:
- name: Set Variable
id: setvar
shell: bash
run: |
echo "release_run=$RELEASE_RUN" >> "$GITHUB_OUTPUT"
build:
needs: setvar
strategy:
matrix:
runner: [windows-large, macos-12-xl]
configuration: [Release]
Linden: [true]
include:
- runner: macos-12-xl
developer_dir: "/Applications/Xcode_14.0.1.app/Contents/Developer"
- runner: windows-large
configuration: ReleaseOS
Linden: false
runs-on: ${{ matrix.runner }}
outputs:
viewer_channel: ${{ steps.build.outputs.viewer_channel }}
viewer_version: ${{ steps.build.outputs.viewer_version }}
viewer_branch: ${{ steps.which-branch.outputs.branch }}
relnotes: ${{ steps.which-branch.outputs.relnotes }}
imagename: ${{ steps.build.outputs.imagename }}
env:
AUTOBUILD_ADDRSIZE: 64
AUTOBUILD_BUILD_ID: ${{ github.run_id }}
AUTOBUILD_CONFIGURATION: ${{ matrix.configuration }}
# authorizes fetching private constituent packages
AUTOBUILD_GITHUB_TOKEN: ${{ secrets.SHARED_AUTOBUILD_GITHUB_TOKEN }}
AUTOBUILD_INSTALLABLE_CACHE: ${{ github.workspace }}/.autobuild-installables
AUTOBUILD_VARIABLES_FILE: ${{ github.workspace }}/.build-variables/variables
# Direct autobuild to store vcs_url, vcs_branch and vcs_revision in
# autobuild-package.xml.
AUTOBUILD_VCS_INFO: "true"
AUTOBUILD_VSVER: "170"
DEVELOPER_DIR: ${{ matrix.developer_dir }}
# Ensure that Linden viewer builds engage Bugsplat.
BUGSPLAT_DB: ${{ matrix.Linden && 'SecondLife_Viewer_2018' || '' }}
# Run BUILD steps for Release configuration.
# Run BUILD steps for ReleaseOS configuration only for release runs.
BUILD: ${{ (matrix.Linden || needs.setvar.outputs.release_run) && 'Y' || '' }}
build_coverity: false
build_log_dir: ${{ github.workspace }}/.logs
build_viewer: true
BUILDSCRIPTS_SHARED: ${{ github.workspace }}/.shared
# extracted and committed to viewer repo
BUILDSCRIPTS_SUPPORT_FUNCTIONS: ${{ github.workspace }}/buildscripts_support_functions
GIT_REF: ${{ github.head_ref || github.ref }}
LL_SKIP_REQUIRE_SYSROOT: 1
# Setting this variable directs Linden's TUT test driver code to capture
# test-program log output at the specified level, but to display it only if
# the individual test fails.
LOGFAIL: DEBUG
master_message_template_checkout: ${{ github.workspace }}/.master-message-template
# Only set variants to the one configuration: don't let build.sh loop
# over variants, let GitHub distribute variants over multiple hosts.
variants: ${{ matrix.configuration }}
steps:
- name: Checkout code
if: env.BUILD
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- name: Setup python
if: env.BUILD
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Checkout build variables
if: env.BUILD
uses: actions/checkout@v4
with:
repository: secondlife/build-variables
ref: master
path: .build-variables
- name: Checkout master-message-template
if: env.BUILD
uses: actions/checkout@v4
with:
repository: secondlife/master-message-template
path: .master-message-template
- name: Install autobuild and python dependencies
if: env.BUILD
run: pip3 install autobuild llsd
- name: Cache autobuild packages
id: cache-installables
if: env.BUILD
uses: actions/cache@v4
with:
path: .autobuild-installables
key: ${{ runner.os }}-64-${{ matrix.configuration }}-${{ hashFiles('autobuild.xml') }}
restore-keys: |
${{ runner.os }}-64-${{ matrix.configuration }}-
${{ runner.os }}-64-
- name: Install windows dependencies
if: env.BUILD && runner.os == 'Windows'
run: choco install nsis-unicode
- name: Determine source branch
id: which-branch
if: env.BUILD
uses: secondlife/viewer-build-util/which-branch@v2
with:
token: ${{ github.token }}
- name: Build
id: build
if: env.BUILD
shell: bash
env:
AUTOBUILD_VCS_BRANCH: ${{ steps.which-branch.outputs.branch }}
RUNNER_OS: ${{ runner.os }}
run: |
# set up things the viewer's build.sh script expects
set -x
mkdir -p "$build_log_dir"
mkdir -p "$BUILDSCRIPTS_SHARED/packages/lib/python"
source "$BUILDSCRIPTS_SUPPORT_FUNCTIONS"
if [[ "$OSTYPE" =~ cygwin|msys ]]
then
native_path() { cygpath --windows "$1"; }
shell_path() { cygpath --unix "$1"; }
else
native_path() { echo "$1"; }
shell_path() { echo "$1"; }
fi
finalize()
{
case "$1" in
true|0)
record_success "Build Succeeded"
;;
*)
record_failure "Build Failed with $1"
;;
esac
}
initialize_build()
{
echo "initialize_build"
}
initialize_version()
{
export revision="$AUTOBUILD_BUILD_ID"
}
python_cmd()
{
if [[ "x${1:0:1}" == "x-" ]] # -m, -c, etc.
then # if $1 is a switch, don't try to twiddle paths
"$(shell_path "$PYTHON_COMMAND")" "$@"
elif [[ "$(basename "$1")" == "codeticket.py" ]]
then # ignore any attempt to contact codeticket
echo "## $@"
else # running a script at an explicit path: fix path for Python
local script="$1"
shift
"$(shell_path "$PYTHON_COMMAND")" "$(native_path "$script")" "$@"
fi
}
repo_branch()
{
echo "$AUTOBUILD_VCS_BRANCH"
}
record_dependencies_graph()
{
echo "TODO: generate and post dependency graph"
}
# Since we're not uploading to codeticket, DO NOT sleep for minutes.
sleep()
{
echo "Not sleeping for $1 seconds"
}
export -f native_path shell_path finalize initialize_build initialize_version
export -f python_cmd repo_branch record_dependencies_graph sleep
## Useful for diagnosing Windows LLProcess/LLLeap test failures
##export APR_LOG="${RUNNER_TEMP}/apr.log"
export arch=$(uname | cut -b-6)
# Surprise! GH Windows runner's MINGW6 is a $arch value we've never
# seen before, so numerous tests don't know about it.
[[ "$arch" == "MINGW6" ]] && arch=CYGWIN
export AUTOBUILD="$(which autobuild)"
# determine the viewer channel from the branch name
branch=$AUTOBUILD_VCS_BRANCH
IFS='/' read -ra ba <<< "$branch"
prefix=${ba[0]}
if [ "$prefix" == "project" ]; then
IFS='_' read -ra prj <<< "${ba[1]}"
# uppercase first letter of each word
export viewer_channel="Second Life Project ${prj[*]^}"
elif [[ "$prefix" == "release" || "$prefix" == "main" ]];
then
export viewer_channel="Second Life Release"
else
export viewer_channel="Second Life Test"
fi
echo "viewer_channel=$viewer_channel" >> "$GITHUB_OUTPUT"
# On windows we need to point the build to the correct python
# as neither CMake's FindPython nor our custom Python.cmake module
# will resolve the correct interpreter location.
if [[ "$RUNNER_OS" == "Windows" ]]; then
export PYTHON="$(native_path "$(which python)")"
echo "Python location: $PYTHON"
export PYTHON_COMMAND="$PYTHON"
else
export PYTHON_COMMAND="python3"
fi
export PYTHON_COMMAND_NATIVE="$(native_path "$PYTHON_COMMAND")"
./build.sh
# Each artifact is downloaded as a distinct .zip file. Multiple jobs
# (per the matrix above) writing the same filepath to the same
# artifact name will *overwrite* that file. Moreover, they can
# interfere with each other, causing the upload to fail.
# https://github.com/actions/upload-artifact#uploading-to-the-same-artifact
# Given the size of our installers, and the fact that we typically
# only want to download just one instead of a single zip containing
# several, generate a distinct artifact name for each installer.
# If the matrix above can run multiple builds on the same
# platform, we must disambiguate on more than the platform name.
# e.g. if we were still running Windows 32-bit builds, we'd need to
# qualify the artifact with bit width.
if [[ "$AUTOBUILD_CONFIGURATION" == "ReleaseOS" ]]
then cfg_suffix='OS'
else cfg_suffix=''
fi
echo "artifact=$RUNNER_OS$cfg_suffix" >> $GITHUB_OUTPUT
- name: Upload executable
if: matrix.Linden && steps.build.outputs.viewer_app
uses: actions/upload-artifact@v4
with:
name: "${{ steps.build.outputs.artifact }}-app"
path: |
${{ steps.build.outputs.viewer_app }}
# The other upload of nontrivial size is the symbol file. Use a distinct
# artifact for that too.
- name: Upload symbol file
if: matrix.Linden
uses: actions/upload-artifact@v4
with:
name: "${{ steps.build.outputs.artifact }}-symbols"
path: |
${{ steps.build.outputs.symbolfile }}
- name: Upload metadata
if: matrix.Linden
uses: actions/upload-artifact@v4
with:
name: "${{ steps.build.outputs.artifact }}-metadata"
# emitted by build.sh, possibly multiple lines
path: |
${{ steps.build.outputs.metadata }}
- name: Upload physics package
uses: actions/upload-artifact@v4
# should only be set for viewer-private
if: matrix.Linden && steps.build.outputs.physicstpv
with:
name: "${{ steps.build.outputs.artifact }}-physics"
# emitted by build.sh, zero or one lines
path: |
${{ steps.build.outputs.physicstpv }}
sign-and-package-windows:
env:
AZURE_KEY_VAULT_URI: ${{ secrets.AZURE_KEY_VAULT_URI }}
AZURE_CERT_NAME: ${{ secrets.AZURE_CERT_NAME }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
needs: build
runs-on: windows-large
steps:
- name: Sign and package Windows viewer
if: env.AZURE_KEY_VAULT_URI && env.AZURE_CERT_NAME && env.AZURE_CLIENT_ID && env.AZURE_CLIENT_SECRET && env.AZURE_TENANT_ID
uses: secondlife/viewer-build-util/sign-pkg-windows@v2
with:
vault_uri: "${{ env.AZURE_KEY_VAULT_URI }}"
cert_name: "${{ env.AZURE_CERT_NAME }}"
client_id: "${{ env.AZURE_CLIENT_ID }}"
client_secret: "${{ env.AZURE_CLIENT_SECRET }}"
tenant_id: "${{ env.AZURE_TENANT_ID }}"
sign-and-package-mac:
env:
NOTARIZE_CREDS_MACOS: ${{ secrets.NOTARIZE_CREDS_MACOS }}
SIGNING_CERT_MACOS: ${{ secrets.SIGNING_CERT_MACOS }}
SIGNING_CERT_MACOS_IDENTITY: ${{ secrets.SIGNING_CERT_MACOS_IDENTITY }}
SIGNING_CERT_MACOS_PASSWORD: ${{ secrets.SIGNING_CERT_MACOS_PASSWORD }}
needs: build
runs-on: macos-latest
steps:
- name: Unpack Mac notarization credentials
if: env.NOTARIZE_CREDS_MACOS
id: note-creds
shell: bash
run: |
# In NOTARIZE_CREDS_MACOS we expect to find:
# USERNAME="..."
# PASSWORD="..."
# TEAM_ID="..."
eval "${{ env.NOTARIZE_CREDS_MACOS }}"
echo "::add-mask::$USERNAME"
echo "::add-mask::$PASSWORD"
echo "::add-mask::$TEAM_ID"
echo "note_user=$USERNAME" >> "$GITHUB_OUTPUT"
echo "note_pass=$PASSWORD" >> "$GITHUB_OUTPUT"
echo "note_team=$TEAM_ID" >> "$GITHUB_OUTPUT"
# If we didn't manage to retrieve all of these credentials, better
# find out sooner than later.
[[ -n "$USERNAME" && -n "$PASSWORD" && -n "$TEAM_ID" ]]
- name: Sign and package Mac viewer
if: env.SIGNING_CERT_MACOS && env.SIGNING_CERT_MACOS_IDENTITY && env.SIGNING_CERT_MACOS_PASSWORD && steps.note-creds.outputs.note_user && steps.note-creds.outputs.note_pass && steps.note-creds.outputs.note_team
uses: secondlife/viewer-build-util/sign-pkg-mac@v2
with:
channel: ${{ needs.build.outputs.viewer_channel }}
imagename: ${{ needs.build.outputs.imagename }}
cert_base64: ${{ env.SIGNING_CERT_MACOS }}
cert_name: ${{ env.SIGNING_CERT_MACOS_IDENTITY }}
cert_pass: ${{ env.SIGNING_CERT_MACOS_PASSWORD }}
note_user: ${{ steps.note-creds.outputs.note_user }}
note_pass: ${{ steps.note-creds.outputs.note_pass }}
note_team: ${{ steps.note-creds.outputs.note_team }}
post-windows-symbols:
env:
BUGSPLAT_USER: ${{ secrets.BUGSPLAT_USER }}
BUGSPLAT_PASS: ${{ secrets.BUGSPLAT_PASS }}
needs: build
runs-on: ubuntu-latest
steps:
- name: Download viewer exe
uses: actions/download-artifact@v4
with:
name: Windows-app
path: _artifacts
- name: Download Windows Symbols
if: env.BUGSPLAT_USER && env.BUGSPLAT_PASS
uses: actions/download-artifact@v4
with:
name: Windows-symbols
- name: Extract viewer pdb
if: env.BUGSPLAT_USER && env.BUGSPLAT_PASS
shell: bash
run: |
tar -xJf "${{ needs.build.outputs.viewer_channel }}.sym.tar.xz" -C _artifacts
- name: Post Windows symbols
if: env.BUGSPLAT_USER && env.BUGSPLAT_PASS
uses: secondlife-3p/symbol-upload@v10
with:
username: ${{ env.BUGSPLAT_USER }}
password: ${{ env.BUGSPLAT_PASS }}
database: "SecondLife_Viewer_2018"
application: ${{ needs.build.outputs.viewer_channel }}
version: ${{ needs.build.outputs.viewer_version }}
directory: _artifacts
files: "**/{SecondLifeViewer.exe,llwebrtc.dll,*.pdb}"
post-mac-symbols:
env:
BUGSPLAT_USER: ${{ secrets.BUGSPLAT_USER }}
BUGSPLAT_PASS: ${{ secrets.BUGSPLAT_PASS }}
needs: build
runs-on: ubuntu-latest
steps:
- name: Download Mac Symbols
if: env.BUGSPLAT_USER && env.BUGSPLAT_PASS
uses: actions/download-artifact@v4
with:
name: macOS-symbols
- name: Post Mac symbols
if: env.BUGSPLAT_USER && env.BUGSPLAT_PASS
uses: secondlife-3p/symbol-upload@v10
with:
username: ${{ env.BUGSPLAT_USER }}
password: ${{ env.BUGSPLAT_PASS }}
database: "SecondLife_Viewer_2018"
application: ${{ needs.build.outputs.viewer_channel }}
version: ${{ needs.build.outputs.viewer_version }}
directory: .
files: "**/*.xcarchive.zip"
release:
needs: [setvar, build, sign-and-package-windows, sign-and-package-mac]
runs-on: ubuntu-latest
if: needs.setvar.outputs.release_run
steps:
- uses: actions/download-artifact@v4
with:
pattern: "*-installer"
- uses: actions/download-artifact@v4
with:
pattern: "*-metadata"
- name: Rename metadata
run: |
cp Windows-metadata/autobuild-package.xml Windows-autobuild-package.xml
cp Windows-metadata/newview/viewer_version.txt Windows-viewer_version.txt
cp macOS-metadata/autobuild-package.xml macOS-autobuild-package.xml
cp macOS-metadata/newview/viewer_version.txt macOS-viewer_version.txt
# forked from softprops/action-gh-release
- name: Create GitHub release
id: release
uses: secondlife-3p/action-gh-release@v1
with:
# name the release page for the branch
name: "${{ needs.build.outputs.viewer_branch }}"
# SL-20546: want the channel and version to be visible on the
# release page
body: |
Build ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
${{ needs.build.outputs.viewer_channel }}
${{ needs.build.outputs.viewer_version }}
${{ needs.build.outputs.relnotes }}
prerelease: true
generate_release_notes: true
target_commitish: ${{ github.sha }}
previous_tag: release
append_body: true
fail_on_unmatched_files: true
files: |
macOS-installer/*.dmg
Windows-installer/*.exe
*-autobuild-package.xml
*-viewer_version.txt
- name: post release URL
run: |
echo "::notice::Release ${{ steps.release.outputs.url }}"
name: Stale PRs
on:
workflow_dispatch:
schedule:
- cron: 0 0 * * *
permissions:
issues: write
pull-requests: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v6
id: stale
with:
stale-pr-message: This pull request is stale because it has been open 30 days with no activity. Remove stale label or comment or it will be closed in 7 days
days-before-stale: 30
days-before-close: 7
days-before-issue-close: -1
exempt-pr-labels: blocked,must,should,keep
stale-pr-label: stale
- name: Print outputs
run: echo ${{ join(steps.stale.outputs.*, ',') }}
# By extension
*.DS_Store
*.bak
*.diff
*.orig
*.patch
*.pyc
*.rej
*.swp
*.vcxproj
*.filters
*.sln
*.depend
*.stamp
*.rc
*~
# Specific paths and/or names
.venv
CMakeCache.txt
cmake_install.cmake
LICENSES
build-*
debian/files
debian/secondlife-appearance-utility*
debian/secondlife-viewer*
indra/.distcc
indra/out/*
indra/packages/*
indra/CMakeFiles
indra/build-vc[0-9]*
indra/lib/mono/1.0/*.dll
indra/lib/mono/indra/*.dll
indra/lib/mono/indra/*.exe
indra/lib/mono/indra/*.pdb
indra/lib/python/eventlet/
indra/lib/python/mulib.*
indra/llwindow/glh/glh_linear.h
indra/newview/app_settings/dictionaries
indra/newview/app_settings/mozilla
indra/newview/app_settings/mozilla-runtime-*
indra/newview/app_settings/mozilla_debug
indra/newview/app_settings/static_*.db2
indra/newview/avatar_icons_cache.txt
indra/newview/avatar_lad.log
indra/newview/browser_profile
indra/newview/dbghelp.dll
indra/newview/filters.xml
indra/newview/fmod.dll
indra/newview/fmod.log
indra/newview/fonts
indra/newview/installers/windows/*.ico
indra/newview/mozilla-theme
indra/newview/mozilla-universal-darwin.tgz
indra/newview/pilot.txt
indra/newview/pilot.xml
indra/newview/res-sdl/ll_icon.*
indra/newview/res/ll_icon.*
indra/newview/search_history.txt
indra/newview/teleport_history.txt
indra/newview/typed_locations.txt
indra/newview/vivox-runtime
indra/newview/skins/default/html/common/equirectangular/js
emoji_characters.xml
indra/server-linux-*
indra/temp
indra/test/linden_file.dat
indra/test_apps/llmediatest/dependencies/i686-win32
indra/test_apps/terrain_mule/*.dll
indra/viewer-linux-*
indra/web/dataservice/lib/shared/vault.*
indra/web/dataservice/locale.*
indra/web/dataservice/vendor.*
indra/web/doc/asset-upload/plugins/lsl_compiler/lslc
indra/web/doc/asset-upload/plugins/verify-notecard
indra/web/doc/asset-upload/plugins/verify-texture
installed.xml
libraries
tarfile_tmp
trivial_change_force_build
web/config.*
web/locale.*
web/secondlife.com.*
/Pipfile.lock
.env
.vscode
stages:
- build
- upload
default:
interruptible: true
timeout: 4h
variables:
BUILD_CHANNEL:
value: "Test"
options:
- "Release"
- "Beta"
- "Project"
- "Test"
description: "The deployment channel target. Set to 'Test' by default."
PUBLIC_BUILD:
value: "FALSE"
options:
- "FALSE"
- "TRUE"
description: "Are package registry uploads public?. Set to 'TRUE' by default"
ENABLE_TESTS:
value: "TRUE"
options:
- "FALSE"
- "TRUE"
description: "Enable Sentry crash reporting. Set to 'TRUE' by default."
description: "Enable Discord integrations. Set to 'TRUE' by default."
ENABLE_LTO:
value: "TRUE"
options:
- "FALSE"
- "TRUE"
description: "Enable Link Time Optimization. Set to 'TRUE' by default."
USE_HAVOK:
value: "TRUE"
options:
- "FALSE"
- "TRUE"
description: "Enable Havok integrations. Set to 'TRUE' by default."
USE_SENTRY:
value: "TRUE"
options:
- "FALSE"
- "TRUE"
description: "Enable Sentry crash reporting. Set to 'TRUE' by default."
USE_DISCORD:
value: "TRUE"
options:
- "FALSE"
- "TRUE"
AUTOBUILD_BUILD_ID: $CI_PIPELINE_ID
AUTOBUILD_GITLAB_TOKEN: $CI_JOB_TOKEN
AUTOBUILD_INSTALLABLE_CACHE: "$CI_PROJECT_DIR/.cache/autobuild"
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
.win_build:
stage: build
tags:
- autobuild
- windows
cache:
key:
files:
- autobuild.xml
prefix: ${CI_JOB_NAME}
paths:
- .cache/autobuild
- .cache/pip
when: 'always'
before_script:
- python -m venv .venv
- .\.venv\Scripts\Activate.ps1
- pip install --upgrade llbase autobuild certifi sentry-cli cmake
script:
- autobuild configure -c Release -- -DUSE_LTO="${ENABLE_LTO}" -DHAVOK_TPV="${USE_HAVOK}" -DLL_TESTS="${ENABLE_TESTS}" -DDISABLE_FATAL_WARNINGS=ON -DREVISION_FROM_VCS=FALSE
- autobuild build -c Release --no-configure
- autobuild graph -c Release --graph-file "alchemy-windows${AUTOBUILD_ADDRSIZE}-dependencies.svg" "build-vc-${AUTOBUILD_ADDRSIZE}/autobuild-package.xml"
- If ($env:USE_SENTRY -eq 'TRUE') { sentry-cli debug-files upload --include-sources (Get-Item .\build-vc-${AUTOBUILD_ADDRSIZE}\newview\Release\alchemy-bin.*).FullName (Get-Item .\build-vc-64\newview\Release\*.dll).FullName }
artifacts:
name: "$env:CI_COMMIT_REF_NAME-$env:CI_COMMIT_SHORT_SHA"
expire_in: 1 week
paths:
- build-vc-*/newview/Release/build_data.json
- build-vc-*/newview/Release/Alchemy_*_Setup.exe
- alchemy-*-dependencies.svg
.mac_build:
stage: build
tags:
- mac
- m1
- bash
cache:
key:
files:
- autobuild.xml
prefix: ${CI_JOB_NAME}
paths:
- .cache/autobuild
- .cache/pip
when: 'always'
variables:
VIEWER_SIGNING_IDENTITY: $APPLE_SIGNATURE
before_script:
- python3 -m venv .venv
- source .venv/bin/activate
- pip3 install --upgrade llbase autobuild dmgbuild certifi sentry-cli cmake
script:
- autobuild configure -c Release -- -DENABLE_SIGNING=ON -DUSE_LTO="${ENABLE_LTO}" -DHAVOK_TPV=${USE_HAVOK} -DLL_TESTS="${ENABLE_TESTS}" -DDISABLE_FATAL_WARNINGS=ON -DREVISION_FROM_VCS=FALSE
- autobuild build -c Release --no-configure
- autobuild graph -c Release --graph-file alchemy-darwin${AUTOBUILD_ADDRSIZE}-dependencies.svg build-darwin-64/autobuild-package.xml
- if [ "$USE_SENTRY" = "TRUE" ]; then sentry-cli debug-files upload --include-sources build-darwin-64/newview/Release/*.app.dSYM build-darwin-64/newview/Release/*.app/Contents/MacOS/ build-darwin-64/newview/Release/*.app/Contents/Frameworks/ build-darwin-*/packages/lib/release/*.dSYM; fi
artifacts:
name: "$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
expire_in: 1 week
paths:
- build-darwin-*/build_data.json
- build-darwin-*/newview/Alchemy_*.dmg
- alchemy-*-dependencies.svg
.linux_build:
stage: build
image: r.alchemyviewer.org/alchemy/infrastructure/ubuntu-build-image:latest-jammy
tags:
- linux
- docker
cache:
key:
files:
- autobuild.xml
prefix: ${CI_JOB_NAME}
paths:
- .cache/autobuild
- .cache/pip
when: 'always'
before_script:
- python3 -m venv .venv
- source .venv/bin/activate
- pip3 install --upgrade llbase autobuild certifi sentry-cli cmake ninja
script:
- autobuild configure -c Release -- -DUSE_LTO="${ENABLE_LTO}" -DLL_TESTS="${ENABLE_TESTS}" -DDISABLE_FATAL_WARNINGS=ON -DREVISION_FROM_VCS=FALSE -DCOMPRESS_DEBUG=ON
- autobuild build -c Release --no-configure
- autobuild graph -c Release --graph-file alchemy-linuxs${AUTOBUILD_ADDRSIZE}-dependencies.svg build-linux-${AUTOBUILD_ADDRSIZE}/autobuild-package.xml
- if [ "$USE_SENTRY" = "TRUE" ]; then sentry-cli debug-files upload --include-sources build-linux-64/newview/*.debug build-linux-64/newview/packaged/alchemy-bin build-linux-64/llwebrtc/*.so build-linux-64/packages/lib/release/*.so*; fi
artifacts:
name: "$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
expire_in: 1 week
paths:
- build-linux-*/build_data.json
- build-linux-*/newview/Alchemy_*.tar.*
- alchemy-*-dependencies.svg
coverity_scan:
stage: build
image: r.alchemyviewer.org/alchemy/infrastructure/ubuntu-build-image:latest-llvm-coverity
tags:
- linux
- docker
rules:
- if: '$CI_COMMIT_BRANCH == "coverity"'
cache:
key:
files:
- autobuild.xml
prefix: ${CI_JOB_NAME}
paths:
- .cache/autobuild
- .cache/pip
when: 'always'
variables:
AUTOBUILD_ADDRSIZE: 64
before_script:
- python -m venv .venv
- source .venv/bin/activate
- pip3 install --upgrade llbase autobuild cmake ninja
script:
- cov-configure --template --comptype clangcc --compiler clang-12
- cov-configure --template --comptype clangcxx --compiler clang++-12
- autobuild configure -c Coverity -- -DLL_TESTS=OFF -DUSE_FMODSTUDIO=ON -DUSE_NVAPI=ON -DUSE_LTO=OFF -DDISABLE_FATAL_WARNINGS=ON -DREVISION_FROM_VCS=FALSE -DUSE_PRECOMPILED_HEADERS=OFF
- autobuild build -c Coverity --no-configure
- pushd "build-linux-64"
- tar caf alchemyviewer.xz cov-int
- curl --header "JOB-TOKEN:$CI_JOB_TOKEN" --upload-file alchemyviewer.xz "${CI_API_V4_URL}/projects/165/packages/generic/coverity/0.0.$CI_PIPELINE_ID/alchemyviewer.xz"
- popd
.win32_build:
extends: .win_build
variables:
AUTOBUILD_ADDRSIZE: 32
cache:
key:
prefix: windows32
.win64_build:
extends: .win_build
variables:
AUTOBUILD_ADDRSIZE: 64
cache:
key:
prefix: windows64
.mac64_build:
extends: .mac_build
variables:
AUTOBUILD_ADDRSIZE: 64
cache:
key:
prefix: darwin64
.linux32_build:
extends: .linux_build
variables:
AUTOBUILD_ADDRSIZE: 32
cache:
key:
prefix: linux32
.linux64_build:
extends: .linux_build
variables:
AUTOBUILD_ADDRSIZE: 64
cache:
key:
prefix: linux64
.dev_rules:
rules:
- if: $BUILD_CHANNEL != "Test" || $CI_COMMIT_TAG
when: never
- if: '$CI_PIPELINE_SOURCE == "web"'
- if: '$CI_PIPELINE_SOURCE == "schedule"'
#- if: '$CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE == "push"'
# when: delayed
# start_in: '12 hours'
variables:
USE_SENTRY: "FALSE"
VIEWER_CHANNEL_TYPE: Test
VIEWER_USE_CRASHPAD: "FALSE"
.project_rules:
rules:
- if: '$BUILD_CHANNEL == "Project" && ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "schedule")'
- if: '$CI_COMMIT_TAG =~ /.*-project/'
variables:
VIEWER_CHANNEL_TYPE: Project
.beta_rules:
rules:
- if: '$BUILD_CHANNEL == "Beta" && ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "schedule")'
- if: '$CI_COMMIT_TAG =~ /.*-beta/'
variables:
VIEWER_CHANNEL_TYPE: Beta
.release_rules:
rules:
- if: '$BUILD_CHANNEL == "Release" && ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "schedule")'
- if: '$CI_COMMIT_TAG =~ /.*-release/'
variables:
VIEWER_CHANNEL_TYPE: Release
build:dev:linux64:
extends:
- .linux64_build
- .dev_rules
build:dev:mac64:
extends:
- .mac64_build
- .dev_rules
.build:dev:windows32:
extends:
- .win32_build
- .dev_rules
build:dev:windows64:
extends:
- .win64_build
- .dev_rules
build:project:linux64:
extends:
- .linux64_build
- .project_rules
build:project:mac64:
extends:
- .mac64_build
- .project_rules
.build:project:windows64:
extends:
- .win32_build
- .project_rules
build:project:windows64:
extends:
- .win64_build
- .project_rules
build:beta:linux64:
extends:
- .linux64_build
- .beta_rules
build:beta:mac64:
extends:
- .mac64_build
- .beta_rules
.build:beta:windows32:
extends:
- .win32_build
- .beta_rules
build:beta:windows64:
extends:
- .win64_build
- .beta_rules
build:release:linux64:
extends:
- .linux64_build
- .release_rules
build:release:mac64:
extends:
- .mac64_build
- .release_rules
.build:release:windows32:
extends:
- .win32_build
- .release_rules
build:release:windows64:
extends:
- .win64_build
- .release_rules
.upload_template:
stage: upload
image: r.alchemyviewer.org/alchemy/infrastructure/viewer-deploy-image:latest
tags:
- pwsh
- docker
allow_failure: false
before_script:
- python3 -m venv .venv
- ./.venv/bin/Activate.ps1
- pip3 install --upgrade sentry-cli
script:
- $BuildData = Get-Content ./build-vc-64/newview/Release/build_data.json | ConvertFrom-Json
- $BuildChannelVersion = $BuildData.Channel + ' ' + $BuildData.Version
- $BuildChannelOneword = $BuildData.Channel.Replace(" ", "")
- $PkgName = $BuildData.Channel.Replace(" ", "_")
- $PkgVer = $BuildData.Version
- $SetupUploadProjectID = "${CI_PROJECT_ID}"
- If ($env:PUBLIC_BUILD -eq 'FALSE') { $SetupUploadProjectID = "200" }
- $UploadDestURL = "${CI_API_V4_URL}/projects/${SetupUploadProjectID}/packages/generic/${PkgName}/${PkgVer}"
- $UpdateDeployDestURL = "${CI_API_V4_URL}/projects/198/packages/generic/${BuildChannelOneword}"
- >
$UploadParams = @{
Method = "PUT";
Headers = @{
"JOB-TOKEN" = "${CI_JOB_TOKEN}"; };
Verbose = $false;
};
- If ($env:USE_SENTRY -eq 'TRUE') { sentry-cli releases new $BuildChannelVersion && sentry-cli releases set-commits --auto $BuildChannelVersion }
- $DestStatus = "?select=package_file&status=default"
- Push-Location ./build-linux-64/
- Push-Location ./newview/
- $LnxFileName = Get-ChildItem -Path . -Name -Include Alchemy_*.tar.*
- $LnxFileHash = (Get-FileHash .\$LnxFileName -a sha256).Hash
- $LnxPackageUrl = "${UploadDestURL}/${LnxFileName}"
- $LnxUploadResult = Invoke-WebRequest @UploadParams -InFile ./$LnxFileName -Uri "${LnxPackageUrl}${DestStatus}" -MaximumRetryCount 5 -RetryIntervalSec 30 | ConvertFrom-Json
- If ($LnxFileHash -ne $LnxUploadResult.file_sha256) { Write-Output "Upload hash mismatch. expected $Hash actual $($LnxUploadResult.file_sha256)" && Exit 1 }
- Pop-Location
- Pop-Location
- Push-Location ./build-darwin-64/
- Push-Location ./newview/
- $MacFileName = Get-ChildItem -Path . -Name -Include Alchemy_*.dmg
- $MacFileHash = (Get-FileHash .\$MacFileName -a sha256).Hash
- $MacPackageUrl = "${UploadDestURL}/${MacFileName}"
- $MacUploadResult = Invoke-WebRequest @UploadParams -InFile ./$MacFileName -Uri "${MacPackageUrl}${DestStatus}" -MaximumRetryCount 5 -RetryIntervalSec 30 | ConvertFrom-Json
- If ($MacFileHash -ne $MacUploadResult.file_sha256) { Write-Output "Upload hash mismatch. expected $Hash actual $($MacUploadResult.file_sha256)" && Exit 1 }
- Pop-Location
- Pop-Location
- Push-Location ./build-vc-64/
- Push-Location ./newview/Release/
- $WinFileName = Get-ChildItem -Path . -Name -Include Alchemy_*_Setup.exe
- $WinFileHash = (Get-FileHash .\$WinFileName -a sha256).Hash
- $WinPackageUrl = "${UploadDestURL}/${WinFileName}"
- $WinUploadResult = Invoke-WebRequest @UploadParams -InFile ./$WinFileName -Uri "${WinPackageUrl}${DestStatus}" -MaximumRetryCount 5 -RetryIntervalSec 30 | ConvertFrom-Json
- If ($WinFileHash -ne $WinUploadResult.file_sha256) { Write-Output "Upload hash mismatch. expected $Hash actual $($WinUploadResult.file_sha256)" && Exit 1 }
- Pop-Location
- Pop-Location
- If ($env:USE_SENTRY -eq 'TRUE') { sentry-cli releases finalize $BuildChannelVersion }
- Write-Output "Package Listing > https://git.alchemyviewer.org/alchemy/alchemy-next/-/packages/$($WinUploadResult.package_id)"
- Write-Output "Windows Package > ${WinPackageUrl}"
- Write-Output "macOS Package > ${MacPackageUrl}"
- Write-Output "Linux Package > ${LnxPackageUrl}"
upload:project:
extends:
- .upload_template
rules:
- if: '$BUILD_CHANNEL == "Project" && ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "schedule")'
when: manual
- if: '$CI_COMMIT_TAG =~ /.*-project/'
when: manual
environment:
name: qa
upload:beta:
extends:
- .upload_template
rules:
- if: '$BUILD_CHANNEL == "Beta" && ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "schedule")'
when: manual
- if: '$CI_COMMIT_TAG =~ /.*-beta/'
when: manual
environment:
name: beta
upload:release:
extends:
- .upload_template
rules:
- if: '$BUILD_CHANNEL == "Release" && ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "schedule")'
when: manual
- if: '$CI_COMMIT_TAG =~ /.*-release/'
when: manual
environment:
name: release
terminal:
image: r.alchemyviewer.org/alchemy/infrastructure/ubuntu-build-image:latest-llvm
script: sleep 60
\ No newline at end of file
## Environment
```
(Please open `Help->About Alchemy` and click Copy to Clipboard then paste the About information here.)
```
## Summary
(Summarize the bug encountered concisely.)
## Steps to reproduce
(How one can reproduce the issue - this is very important)
## What is the expected correct behavior?
(What you should see or what should happen instead)
## Relevant logs and/or screenshots
```
(Attach or paste any relevant logs)
```
/label ~Type::Bug ~Status::Awaiting-Investigation
## Summary
(Summarize the requested improvement concisely.)
## Why is this improvement important to you? How would it benefit the community?
(Provide reasoning as to why the improvement is important to you, and ways it could benefit the larger Alchemy Viewer community.)
## Screenshots, Mockups, etc
(Attach or paste any relevant screenshots or mockups.)
/label ~Type::Improvement ~Status::Awaiting-Investigation
\ No newline at end of file
syntax: glob
# WinMerge temp files
*.bak
# Compiled python bytecode
*.pyc
# Emacs temp files
*~
.*.swp
#OSX image cache file
*.DS_Store
#*.orig
LICENSES
indra/.distcc
build-linux-*
build-darwin-*
build-vc80/
build-vc100/
build-vc120/
build-vc120-32/
build-vc120-64/
indra/build-vc[0-9]*
indra/CMakeFiles
indra/lib/mono/1.0/*.dll
indra/lib/mono/indra/*.dll
indra/lib/mono/indra/*.exe
indra/lib/mono/indra/*.pdb
indra/lib/python/eventlet/
indra/llwindow/glh/glh_linear.h
indra/newview/app_settings/dictionaries
indra/newview/app_settings/mozilla
indra/newview/app_settings/mozilla-runtime-*
indra/newview/app_settings/mozilla_debug
indra/newview/app_settings/static_*.db2
indra/newview/browser_profile
indra/newview/character
indra/newview/fmod.dll
indra/newview/fmod.log
indra/newview/mozilla-theme
indra/newview/mozilla-universal-darwin.tgz
indra/newview/res/ll_icon.*
indra/newview/res-sdl/ll_icon.*
indra/newview/vivox-runtime
indra/server-linux-*
indra/temp
indra/test/linden_file.dat
indra/test_apps/llmediatest/dependencies/i686-win32
indra/test_apps/terrain_mule/*.dll
indra/viewer-linux-*
indra/web/doc/asset-upload/plugins/lsl_compiler/lslc
indra/web/doc/asset-upload/plugins/verify-notecard
indra/web/doc/asset-upload/plugins/verify-texture
installed.xml
libraries
tarfile_tmp
debian/secondlife-viewer*
debian/secondlife-appearance-utility*
debian/files
build-stamp
configure-stamp
^indra/lib/python/mulib.*
^web/locale.*
^web/secondlife.com.*
^web/config.*
^indra/web/dataservice/locale.*
^indra/web/dataservice/lib/shared/vault.*
^indra/web/dataservice/vendor.*
glob:indra/newview/dbghelp.dll
glob:*.cpp.orig
glob:*.cpp.bak
glob:*.h.bak
glob:*.h.orig
glob:indra/newview/typed_locations.txt
glob:indra/newview/teleport_history.txt
glob:indra/newview/search_history.txt
glob:indra/newview/filters.xml
glob:indra/newview/avatar_icons_cache.txt
glob:indra/newview/avatar_lad.log
glob:*.diff
indra/newview/pilot.txt
indra/newview/pilot.xml
*.rej
003dd9461bfa479049afcc34545ab3431b147c7c v2start
52d96ad3d39be29147c5b2181b3bb46af6164f0e alpha-3
d6781e22543acd7e21b967209f3c6e7003d380e3 fork to viewer-2-0
7f16e79826d377f5f9f5b33dc721ab56d0d7dc8f alpha-4
7f16e79826d377f5f9f5b33dc721ab56d0d7dc8f fork to viewer-20qa
d40ac9dd949cba6dab1cc386da6a2027690c2519 alpha-5
d2382d374139850efa5bb6adfb229e3e656cfc40 howard-demo
b8419565906e4feb434426d8d9b17dd1458e24b2 alpha-6
17fc2908e9a1ef34a9f53a41a393caf5c3cac390 beta-3-5
3469d90a115b900f8f250e137bbd9b684130f5d2 beta-4
12769e547e30067d494a6c01479a18107366ce2f beta-5
4f777ffb99fefdc6497c61385c22688ff149c659 viewer-2-0-0
668851b2ef0f8cf8df07a0fba429e4a6c1e70abb viewer-2-0-1
08398e650c222336bb2b6de0cd3bba944aef11b4 2-1rn1
80bc6cff515118a36108967af49d3f8105c95bc9 viewer-2-0-2-start
46002088d9a4489e323b8d56131c680eaa21258c viewer-2-1-0-start
3e4b947f79d88c385e8218cbc0731cef0e42cfc4 2-1-beta-1
0962101bfa7df0643a6e625786025fe7f8a6dc97 2-1-beta-2
1e2b517adc2ecb342cd3c865f2a6ccf82a3cf8d7 2-1-beta-3
c6969fe44e58c542bfc6f1bd6c0be2fa860929ac 2-1-beta-4
b03065d018b8a2e28b7de85b293a4c992cb4c12d 2-1-release
19547b909b404552593be5ec7c18241e062a6d65 2-1-1-beta-1
6e3b2e13906ba8ff22d3c8490b02d518adb2c907 2-1-1-beta-2
bb38ff1a763738609e1b3cada6d15fa61e5e84b9 2-1-1-release
bb38ff1a763738609e1b3cada6d15fa61e5e84b9 2.1.1-release
c6e6324f5be1401f077ad18a4a0f6b46451c2f7b last_sprint
7076e22f9f43f479a4ea75eac447a36364bead5a 2.2.0-beta1
7076e22f9f43f479a4ea75eac447a36364bead5a DRTVWR-5_2.2.0-beta1
7076e22f9f43f479a4ea75eac447a36364bead5a beta_2.1.3
9822eb3e25f7fe0c28ffd8aba45c507caa383cbc 2.2.0-beta2
9822eb3e25f7fe0c28ffd8aba45c507caa383cbc DRTVWR-3_2.2.0-beta2
b0cd7e150009809a0b5b0a9d5785cd4bb230413a 2.2.0-beta3
b0cd7e150009809a0b5b0a9d5785cd4bb230413a DRTVWR-7_2.2.0-beta3
00a831292231faad7e44c69f76cb96f175b8dfad 2.2.0-beta4
1415e6538d54fd5d568ee88343424d57c6803c2c 2.2.0-release
1415e6538d54fd5d568ee88343424d57c6803c2c DRTVWR-8_2.2.0-release
98e0d6df638429fd2f0476667504bd5a6b298def 2.3.0-start
a3c12342b1af0951b8aa3b828aacef17fcea8178 2.3.0-beta1
a3c12342b1af0951b8aa3b828aacef17fcea8178 DRTVWR-14_2.3.0-beta1
db0fe9bb65187f365e58a717dd23d0f4754a9c1d 2.3.0-beta2
db0fe9bb65187f365e58a717dd23d0f4754a9c1d DRTVWR-17_2.3.0-beta2
6ad3d6fa35a4e320e9ce442fce2bf9c7fc852556 2.3.0-beta3
6ad3d6fa35a4e320e9ce442fce2bf9c7fc852556 2.3.0-release
6ad3d6fa35a4e320e9ce442fce2bf9c7fc852556 DRTVWR-13_2.3.0-release
6ad3d6fa35a4e320e9ce442fce2bf9c7fc852556 DRTVWR-20_2.3.0-beta3
dbc206fc61d89ff4cfe15aade0bf0c7bc7fee1c9 2.4.0-start
3bc1f50a72e117f4d4ad8d555f0c785ea8cc201e 2.4.0-beta1
3bc1f50a72e117f4d4ad8d555f0c785ea8cc201e DRTVWR-26_2.4.0-beta1
25bd6007e3d2fc15db9326ed4b18a24a5969a46a 2.4.0-beta2
25bd6007e3d2fc15db9326ed4b18a24a5969a46a DRTVWR-27_2.4.0-beta2
1ed382c6a08ba3850b6ce9061bc551ddece0ea07 2.4.0-release
1ed382c6a08ba3850b6ce9061bc551ddece0ea07 DRTVWR-25_2.4.0-release
a82e5b1e22c7f90e3c7977d146b80588f004ed0d 2.5.0-start
345b17e7cf630db77e840b4fe3451bd476d750a3 2.5.0-beta1
345b17e7cf630db77e840b4fe3451bd476d750a3 DRTVWR-32_2.5.0-beta1
54d772d8687c69b1d773f6ce14bbc7bdc9d6c05f 2.5.0-beta2
54d772d8687c69b1d773f6ce14bbc7bdc9d6c05f DRTVWR-33--2.5.0beta2
54d772d8687c69b1d773f6ce14bbc7bdc9d6c05f DRTVWR-33_2.5.0-beta2
b723921b5c711bd24dbe77dc76ef488b544dac78 2.5.0-beta3
b723921b5c711bd24dbe77dc76ef488b544dac78 2.5.0-release
b723921b5c711bd24dbe77dc76ef488b544dac78 DRTVWR-31_2.5.0-release
b723921b5c711bd24dbe77dc76ef488b544dac78 DRTVWR-34_2.5.0-beta3
b542f8134a2bb5dd054ff4e509a44b2ee463b1bf nat-eventapi2-base
63a6aedfce785a6c760377bf685b2dae616797d2 2.5.1-start
4dede9ae1ec74d41f6887719f6f1de7340d8578d 2.5.1-release
4dede9ae1ec74d41f6887719f6f1de7340d8578d DRTVWR-37_2.5.1-release
b53a0576eec80614d7767ed72b40ed67aeff27c9 2.5.2-release
b53a0576eec80614d7767ed72b40ed67aeff27c9 DRTVWR-38_2.5.2-release
4e9eec6a347f89b2b3f295beb72f1cf7837dff66 2.6.0-start
9283d6d1d7eb71dfe4c330e7c9144857e7356bde 2.6.0-beta1
9283d6d1d7eb71dfe4c330e7c9144857e7356bde DRTVWR-40_2.6.0-beta1
461c8c65b5c799ddfe365422f9be9c0095d91e7d 2.6.0-beta1-tip
9e4641f4a7870c0f565a25a2971368d5a29516a1 2.6.0-beta2
9e4641f4a7870c0f565a25a2971368d5a29516a1 DRTVWR-41_2.6.0-beta2
42f32494bac475d0737799346f6831558ae8bf5d 2.6.0-release
42f32494bac475d0737799346f6831558ae8bf5d DRTVWR-39_2.6.0-release
c5bdef3aaa2744626aef3c217ce29e1900d357b3 2.6.1-beta1
c5bdef3aaa2744626aef3c217ce29e1900d357b3 2.6.1-start
c5bdef3aaa2744626aef3c217ce29e1900d357b3 DRTVWR-43_2.6.1-beta1
c9182ed77d427c759cfacf49a7b71a2e20d522aa 2.6.1-release
c9182ed77d427c759cfacf49a7b71a2e20d522aa DRTVWR-42_2.6.1-release
56b2778c743c2a964d82e1caf11084d76a87de2c 2.6.2-start
d1203046bb653b763f835b04d184646949d8dd5c 2.6.2-beta1
d1203046bb653b763f835b04d184646949d8dd5c DRTVWR-45_2.6.2-beta1
214180ad5714ce8392b82bbebcc92f4babd98300 2.6.2-release
214180ad5714ce8392b82bbebcc92f4babd98300 DRTVWR-44_2.6.2-release
52b2263ab28f0976c689fd0b76c55a9eb027cdbf end-of-develop.py
ec32f1045e7c2644015245df3a9933620aa194b8 2.6.3-start
d7fcefabdf32bb61a9ea6d6037c1bb26190a85bc 2.6.3-beta1
d7fcefabdf32bb61a9ea6d6037c1bb26190a85bc DRTVWR-47_2.6.3-beta1
0630e977504af5ea320c58d33cae4e1ddee793e9 2.6.3-beta2
0630e977504af5ea320c58d33cae4e1ddee793e9 DRTVWR-48_2.6.3-beta2
8f2da1701c81a62352df2b8d413d27fb2cade9a6 2.6.3-release
8f2da1701c81a62352df2b8d413d27fb2cade9a6 DRTVWR-46_2.6.3-release
3178e311da3a8739a85363665006ea3c4610cad4 dons-headless-hackathon-work
7db558aaa7c176f2022b3e9cfe38ac72f6d1fccd 2.6.5-beta1
7db558aaa7c176f2022b3e9cfe38ac72f6d1fccd DRTVWR-50_2.6.5-beta1
800cefce8d364ffdd2f383cbecb91294da3ea424 2.6.6-start
bb1075286b3b147b1dae2e3d6b2d56f04ff03f35 2.6.6-beta1
bb1075286b3b147b1dae2e3d6b2d56f04ff03f35 DRTVWR-52_2.6.6-beta1
dac76a711da5f1489a01c1fa62ec97d99c25736d 2.6.6-release
dac76a711da5f1489a01c1fa62ec97d99c25736d DRTVWR-51_2.6.6-release
5e349dbe9cc84ea5795af8aeb6d473a0af9d4953 2.6.8-start
beafa8a9bd1d1b670b7523d865204dc4a4b38eef 2.6.8-beta1
beafa8a9bd1d1b670b7523d865204dc4a4b38eef DRTVWR-55_2.6.8-beta1
be2000b946f8cb3de5f44b2d419287d4c48ec4eb 2.6.8-release
be2000b946f8cb3de5f44b2d419287d4c48ec4eb DRTVWR-54_2.6.8-release
e67da2c6e3125966dd49eef98b36317afac1fcfe 2.6.9-start
77e5a08344c95738ab879f9671b7758cddd712a3 2.6.9-beta1
77e5a08344c95738ab879f9671b7758cddd712a3 2.6.9-release
77e5a08344c95738ab879f9671b7758cddd712a3 DRTVWR-56_2.6.9-release
77e5a08344c95738ab879f9671b7758cddd712a3 DRTVWR-57_2.6.9-beta1
8835e0e3c0d3a48244c287bc05811dfc2fba43ec 2.7.0-start
43c7ee846b7eed80786acbbf35d03bd016a3e85d 2.7.0-beta1
43c7ee846b7eed80786acbbf35d03bd016a3e85d DRTVWR-59_2.7.0-beta1
54fd44ac92e4c61435ea33effe093a3527e18d98 2.7.1-start
0c4d0c24278074f219e5a32e72b449e78301d11b 2.7.1-beta1
0c4d0c24278074f219e5a32e72b449e78301d11b DRTVWR-61_2.7.1-beta1
9f79a6ed8fdcd2f3dac33ea6b3236eeb278dccfe 2.7.2-start
e0dc8b741eaa27dcdfbc9e956bb2579b954d15eb 2.7.2-beta1
e0dc8b741eaa27dcdfbc9e956bb2579b954d15eb DRTVWR-63_2.7.2-beta1
fe3a8e7973072ea62043c08b19b66626c1a720eb 2.7.1-release
fe3a8e7973072ea62043c08b19b66626c1a720eb 2.7.2-release
fe3a8e7973072ea62043c08b19b66626c1a720eb DRTVWR-60_2.7.1-release
fe3a8e7973072ea62043c08b19b66626c1a720eb DRTVWR-62_2.7.2-release
6a3e7e403bd19e45fdfc2fcc716867af3ab80861 2.7.3-start
6af10678de4736222b2c3f7e010e984fb5b327de 2.7.4-start
be963a4eef635542f9617d7f5fd22ba48fb71958 2.7.4-beta1
be963a4eef635542f9617d7f5fd22ba48fb71958 DRTVWR-67_2.7.4-beta1
057f319dd8eccdf63a54d99686c68cdcb31b6abc 2.7.4-release
057f319dd8eccdf63a54d99686c68cdcb31b6abc DRTVWR-66_2.7.4-release
19a498fa62570f352d7d246f17e3c81cc1d82d8b 2.7.5-start
09984bfa6cae17e0f72d02b75c1b7393c65eecfc 2.7.5-beta1
09984bfa6cae17e0f72d02b75c1b7393c65eecfc DRTVWR-69_2.7.5-beta1
6866d9df6efbd441c66451debd376d21211de39c 2.7.5-release
6866d9df6efbd441c66451debd376d21211de39c DRTVWR-68_2.7.5-release
e1ed60913230dd64269a7f7fc52cbc6004f6d52c 2.8.0-beta1
e1ed60913230dd64269a7f7fc52cbc6004f6d52c 2.8.0-start
e1ed60913230dd64269a7f7fc52cbc6004f6d52c DRTVWR-71_2.8.0-beta1
493d9127ee50e84ba08a736a65a23ca86f7a5b01 2.8.0-release
493d9127ee50e84ba08a736a65a23ca86f7a5b01 DRTVWR-70_2.8.0-release
502f6a5deca9365ddae57db4f1e30172668e171e 2.8.1-start
2c7e459e0c883f8e406b932e41e60097e9ee077e 2.8.1-beta1
2c7e459e0c883f8e406b932e41e60097e9ee077e DRTVWR-73_2.8.1-beta1
29e93d7e19991011bd12b5748142b11a5dcb4370 2.8.1-release
29e93d7e19991011bd12b5748142b11a5dcb4370 DRTVWR-72_2.8.1-release
4780e3bd2b3042f91be3426151f28c30d199bb3b 2.8.1-hotfix
4780e3bd2b3042f91be3426151f28c30d199bb3b DRTVWR-76_2.8.1-hotfix
54bc7823ad4e3a436fef79710f685a7372bbf795 2.8.2-start
ac0f1a132d35c02a58861d37cca75b0429ac9137 2.8.3-start
599677276b227357140dda35bea4a2c18e2e67b5 2.8.3-beta1
599677276b227357140dda35bea4a2c18e2e67b5 DRTVWR-75_2.8.3-beta1
fb85792b84bf28428889c4cc966469d92e5dac4c 2.8.3-release
fb85792b84bf28428889c4cc966469d92e5dac4c DRTVWR-74_2.8.3-release
6b678ea52f90d5c14181661dcd2546e25bde483e 3.0.0-start
b0be6ce3adfef3a014a2389d360539f8a86c5439 3.0.0-beta1
b0be6ce3adfef3a014a2389d360539f8a86c5439 DRTVWR-78_3.0.0-beta1
1778f26b6d0ae762dec3ca37140f66620f2485d9 3.0.0-release
1778f26b6d0ae762dec3ca37140f66620f2485d9 DRTVWR-77_3.0.0-release
82a2079ffcb57ecb1b3849cb41376b443e1eb912 3.0.1-start
364fd63517fbacbbcb9129d096187171ba8c9e48 3.0.1-beta1
364fd63517fbacbbcb9129d096187171ba8c9e48 DRTVWR-81_3.0.1-beta1
f2412ecd6740803ea9452f1d17fd872e263a0df7 3.0.2-start
42784bf50fa01974bada2a1af3892ee09c93fcda 3.0.2-beta1
42784bf50fa01974bada2a1af3892ee09c93fcda DRTVWR-83_3.0.2-beta1
e5c9af2d7980a99a71650be3a0cf7b2b3c3b897e 3.0.2-beta2
e5c9af2d7980a99a71650be3a0cf7b2b3c3b897e DRTVWR-86_3.0.2-beta2
b95ddac176ac944efdc85cbee94ac2e1eab44c79 3.0.3-start
6694f3f062aa45f64ab391d25a3eb3d5eb1b0871 3.0.3-beta1
6694f3f062aa45f64ab391d25a3eb3d5eb1b0871 DRTVWR-85_3.0.3-beta1
61aa7974df089e8621fe9a4c69bcdefdb3cc208a 3.0.3-beta2
61aa7974df089e8621fe9a4c69bcdefdb3cc208a DRTVWR-89_3.0.3-beta2
0496d2f74043cf4e6058e76ac3db03d44cff42ce 3.0.3-release
0496d2f74043cf4e6058e76ac3db03d44cff42ce DRTVWR-84_3.0.3-release
586907287be581817b2422b5137971b22d54ea48 3.0.4-start
92a3aa04775438226399b19deee12ac3b5a62838 3.0.5-start
c7282e59f374ee904bd793c3c444455e3399b0c5 3.1.0-start
2657fa785bbfac115852c41bd0adaff74c2ad5da 3.1.0-beta1
2657fa785bbfac115852c41bd0adaff74c2ad5da DRTVWR-93_3.1.0-beta1
bc01ee26fd0f1866e266429e85f76340523e91f1 3.1.0-beta2
bc01ee26fd0f1866e266429e85f76340523e91f1 DRTVWR-96_3.1.0-beta2
ae2de7b0b33c03dc5bdf3a7bfa54463b512221b2 3.1.0-release
ae2de7b0b33c03dc5bdf3a7bfa54463b512221b2 DRTVWR-92_3.1.0-release
a8230590e28e4f30f5105549e0e43211d9d55711 3.2.0-start
e440cd1dfbd128d7d5467019e497f7f803640ad6 3.2.0-beta1
e440cd1dfbd128d7d5467019e497f7f803640ad6 DRTVWR-95_3.2.0-beta1
9bcc2b7176634254e501e3fb4c5b56c1f637852e 3.2.0-beta2
9bcc2b7176634254e501e3fb4c5b56c1f637852e DRTVWR-97_3.2.0-beta2
2a13d30ee50ccfed50268238e36bb90d738ccc9e 3.2.0-beta3
2a13d30ee50ccfed50268238e36bb90d738ccc9e DRTVWR-98_3.2.0-beta3
3150219d229d628f0c15e58e8a51511cbd97e58d 3.2.0-release
3150219d229d628f0c15e58e8a51511cbd97e58d DRTVWR-94_3.2.0-release
c4911ec8cd81e676dfd2af438b3e065407a94a7a 3.2.1-start
9e390d76807fa70d356b8716fb83b8ce42a629ef 3.2.1-beta1
9e390d76807fa70d356b8716fb83b8ce42a629ef DRTVWR-100_3.2.1-beta1
a8c7030d6845186fac7c188be4323a0e887b4184 3.2.1-release
a8c7030d6845186fac7c188be4323a0e887b4184 DRTVWR-99_3.2.1-release
40b46edba007d15d0059c80864b708b99c1da368 3.2.2-start
523df3e67378541498d516d52af4402176a26bac 3.2.2-beta1
523df3e67378541498d516d52af4402176a26bac DRTVWR-102_3.2.2-beta1
80f3e30d8aa4d8f674a48bd742aaa6d8e9eae0b5 3.2.3-start
3fe994349fae64fc40874bb59db387131eb35a41 3.2.4-beta1
3fe994349fae64fc40874bb59db387131eb35a41 3.2.4-start
3fe994349fae64fc40874bb59db387131eb35a41 DRTVWR-104_3.2.4-beta1
bd6bcde2584491fd9228f1fa51c4575f4e764e19 3.2.4-release
bd6bcde2584491fd9228f1fa51c4575f4e764e19 DRTVWR-103_3.2.4-release
8a44ff3d2104269ce76145c2772cf1bdff2a2abe 3.2.5-start
3d2d5d244c6398a4214c666d5dd3965b0918709a 3.2.5-beta1
3d2d5d244c6398a4214c666d5dd3965b0918709a DRTVWR-106_3.2.5-beta1
65a2c1c8d855b88edfbea4e16ef2f27e7cff8b1d 3.2.5-beta2
65a2c1c8d855b88edfbea4e16ef2f27e7cff8b1d DRTVWR-107_3.2.5-beta2
c6175c955a19e9b9353d242889ec1779b5762522 3.2.5-release
c6175c955a19e9b9353d242889ec1779b5762522 DRTVWR-105_3.2.5-release
2174ed1c7129562428a5cfe8651ed77b8d26ae18 3.2.6-start
286d73ff5c19f6c00e023dc1b60975ed6bbe2872 3.2.6-beta1
286d73ff5c19f6c00e023dc1b60975ed6bbe2872 DRTVWR-109_3.2.6-beta1
4891c46a56fed7512c783b9cbe7cb7260727bf0c 3.2.7-start
3d75c836d178c7c7e788f256afe195f6cab764a2 3.2.7-beta1
3d75c836d178c7c7e788f256afe195f6cab764a2 DRTVWR-111_3.2.7-beta1
89980333c99dbaf1787fe20784f1d8849e9b5d4f 3.2.8-start
16f8e2915f3f2e4d732fb3125daf229cb0fd1875 3.2.8-beta1
16f8e2915f3f2e4d732fb3125daf229cb0fd1875 DRTVWR-114_3.2.8-beta1
987425b1acf4752379b2e1eb20944b4b35d67a85 3.2.8-beta2
987425b1acf4752379b2e1eb20944b4b35d67a85 DRTVWR-115_3.2.8-beta2
51b2fd52e36aab8f670e0874e7e1472434ec4b4a 3.2.8-release
51b2fd52e36aab8f670e0874e7e1472434ec4b4a DRTVWR-113_3.2.8-release
37dd400ad721e2a89ee820ffc1e7e433c68f3ca2 3.2.9-start
e9c82fca5ae6fb8a8af29012d78fb194a29323f3 3.2.9-beta1
e9c82fca5ae6fb8a8af29012d78fb194a29323f3 DRTVWR-117_3.2.9-beta1
a01ef9bed28627f4ca543fbc1d70c79cc297a90f 3.2.9-beta2
a01ef9bed28627f4ca543fbc1d70c79cc297a90f DRTVWR-118_3.2.9-beta2
d5f263687f43f278107363365938f0a214920a4b 3.3.0-beta1
d5f263687f43f278107363365938f0a214920a4b 3.3.0-start
d5f263687f43f278107363365938f0a214920a4b DRTVWR-119
5e8d2662f38a66eca6c591295f5880d47afc73f7 3.3.0-release
3e2fca4ed1a0dc9fe6d8a6664e71098bb035a367 3.3.1-start
3e2fca4ed1a0dc9fe6d8a6664e71098bb035a367 DRTVWR-125
28b95a6a28dca3338d9a1f4f204b96678df9f6a5 3.3.1-beta1
1dc545e44617975da2a4a32fe303386c687a6ca1 3.3.1-beta2
1dc545e44617975da2a4a32fe303386c687a6ca1 DRTVWR-139
1dc545e44617975da2a4a32fe303386c687a6ca1 viewer-beta-candidate
c623bbc854b6f7ee1b33a3718f76715046aa2937 3.3.1-release
d29a260119f8d5a5d168e25fed0c7ea6b3f40161 3.3.2-beta1
675668bd24d3bea570814f71762a2a806f7e1b8d 3.3.2-beta2
675668bd24d3bea570814f71762a2a806f7e1b8d 3.3.2-release
15e90b52dc0297921b022b90d10d797436b8a1bd viewer-release-candidate
bb9932a7a5fd00edf52d95f354e3b37ae6a942db DRTVWR-156
6414ecdabc5d89515b08d1f872cf923ed3a5523a DRTVWR-148
2a3965b3ad202df7ea25d2be689291bb14a1280e DRTVWR-155
24a7281bef42bd4430ceb25db8b195449c2c7de3 DRTVWR-153
5910f8063a7e1ddddf504c2f35ca831cc5e8f469 DRTVWR-160
f0a174c2adb4bc39b16722a61d7eeb4f2a1d4843 3.3.3-beta1
f0a174c2adb4bc39b16722a61d7eeb4f2a1d4843 DRTVWR-144
2d6c0634b11e6f3df11002b8510a72a0433da00a DRTVWR-164
600f3b3920d94de805ac6dc8bb6def9c069dd360 DRTVWR-162
80b5e5e9775966d3839331ffa7a16a60f9d7c930 DRTVWR-165
fdcc08a4f20ae9bb060f4693c8980d216534efdf 3.3.3-beta2
af5f3e43e6e4424b1da19d9e16f6b853a7b822ed DRTVWR-169
4b3c68199a86cabaa5d9466d7b0f7e141e901d7a 3.3.3-beta3
6428242e124b523813bfaf4c45b3d422f0298c81 3.3.3-release
a716684aa7c07c440b1de5815b8a1f3dd3fd8bfb DRTVWR-159
9a78ac13f047056f788c4734dd91aebfe30970e3 DRTVWR-157
089e5c84b2dece68f2b016c842ef9b5de4786842 DRTVWR-161
c08e2ac17a99973b2a94477659220b99b8847ae2 DRTVWR-163
b9d0170b62eb1c7c3adaa37a0b13a833e5e659f9 DRTVWR-171
050e48759337249130f684b4a21080b683f61732 DRTVWR-168
09ef7fd1b0781f33b8a3a9af6236b7bcb4831910 DRTVWR-170
f87bfbe0b62d26f451d02a47c80ebef6b9168fc2 DRTVWR-158
f91d003091a61937a044652c4c674447f7dcbb7a 3.3.4-beta1
bce218b2b45b730b22cc51e4807aa8b571cadef3 DRTVWR-173
cbea6356ce9cb0c313b6777f10c5c14783264fcc DRTVWR-174
82b5330bc8b17d0d4b598832e9c5a92e90075682 3.3.4-beta2
57d221de3df94f90b55204313c2cef044a3c0ae2 DRTVWR-176
eb539c65e6ee26eea2bf373af2d0f4b52dc91289 DRTVWR-177
a8057e1b9a1246b434a27405be35e030f7d28b0c 3.3.4-beta3
4281aa899fb2cedb7a9ca7ce91c5c29d4aa69594 DRTVWR-180
5c08e1d8edd871807153603b690e3ee9dbb548aa DRTVWR-183
6c75f220b103db1420919c8b635fe53e2177f318 3.3.4-beta4
9cd174d3a54d93d409a7c346a15b8bfb40fc58f4 DRTVWR-184
ab2ffc547c8a8950ff187c4f6c95e5334fab597b 3.3.4-beta5
28e100d0379a2b0710c57647a28fc5239d3d7b99 3.3.4-release
6dfb0fba782c9233dd95f24ec48146db0d3f210b DRTVWR-199
7c9102fb998885621919f2474a002c35b583539b 3.3.4-release2
8c9085066c78ed5f6c9379dc054c82a6fcdb1851 DRTVWR-207
351eea5f9dc192fc5ddea3b02958de97677a0a12 3.3.4-release3
005dfe5c4c377207d065fb27858d2eb0b53b143a DRTVWR-167
888768f162d2c0a8de1dcc5fb9a08bd8bd120a6b DRTVWR-175
a8b3eca451a9eaab59987efb0ab1c4217e3f2dcc DRTVWR-182
1f27cdfdc54246484f8afbbe42ce48e954175cbd 3.4.0-beta1
9ee9387789701d597130f879d9011a4958753862 DRTVWR-189
47f0d08ba7ade0a3905074009067c6d3df7e16ae DRTVWR-190
421126293dcbde918e0da027ca0ab9deb5b4fbf2 DRTVWR-192
33a2fc7a910ae29ff8b4850316ed7fbff9f64d33 DRTVWR-195
e9732c739c8a72a590216951505ea9c76a526a84 DRTVWR-193
7602f61c804a512764e349c034c02ddabeefebc4 DRTVWR-196
ae5c83dd61d2d37c45f1d5b8bf2b036d87599f1b DRTVWR-198
507bdfbd6bf844a511c1ffeda4baa80016ed1346 DRTVWR-197
b1dbb1a83f48f93f6f878cff9e52d2cb635e145c 3.4.0-beta2
37402e2b19af970d51b0a814d79892cc5647532b DRTVWR-200
182a9bf30e81070361bb020a78003b1cf398e79c 3.4.0-beta3
7649a3dff5ec22d3727377e5f02efd0f421e4cb5 DRTVWR-201
84fb70dfe3444e75a44fb4bee43e2fc8221cebdd 3.4.0-beta4
573e863be2f26d3687161def4b9fea9b7038dda8 3.4.0-beta5
af7b28e75bd5a629cd9e0dc46fb3f1757626f493 DRTVWR-212
015012c2b740ccdec8a8c3d6e5f898449ecfe0b8 DRTVWR-213
62b07aa81b1957897c3846292bb9412977b0af6c 3.3.4-beta6
ceed0b65a69f1eac20d523e0203320a32f9a3f3c DRTVWR-215
733ceac77583874f3626ef7a15c105b83ef0f5bb 3.4.0-beta7
97977c67245f52db20eb15f1918cc0f24778cabc 3.4.0-release
5adb2b8f96c3cac88ad7c7d996d707f1b29df336 3.4.1-beta1
b3f74858a1c8720c82d0978f3877a3fc8ba459ec 3.4.1-beta1a
2b779f233ee6f38c89cb921650c773a96e63da92 DRTVWR-220
0b9d95f4bfb6867cbf56eaec51633b0da2f1262d DRTVWR-221
e6e553761829dc0270eaaa712b7cb0622535b076 3.4.1-beta3
f00068a66a2e2f72acbe3f690b98b323e740b289 DRTVWR-222
305950187c628a5d6743ee9ea711cc5b9177a18e 3.4.1-beta4
dd23d4da3bcb2ffda58569e759feb7c119982973 DRTVWR-224
0bd3744ff060452aa13ff4992eafb381df7b1012 3.4.1-beta5
29075f8c1abed53dcf195a59f61744e27a91108f DRTVWR-226
fba99f381b8d4ad1b7b42fa4993b29998d95be18 DRTVWR-179
49ed253c80bed7410e238eeab35a9f14cb034364 3.4.1-beta6
468ca3268229011a59df99229b24315844b33d34 DRTVWR-227
524da902713e8b60322640b9825101add4a7c497 3.4.1-beta7
173c2809f9873499c4b9d6bc044ec941c954d3fb DRTVWR-228
1dc94555582f52718834081e7659e973ae4521f7 3.4.1-beta8
52c164c8023a5e65f3dc1b0bbb7fa1dd0c631b6b DRTVWR-231
464cf7a63a9a2f95bc4972dc022ca765e93de7d3 DRTVWR-233
637fe8bbee5e24940448198c221d5ee0fa3247b4 3.4.1-beta9
4e0d84e92132e9e95a1d52a1e49bad69c278ea05 3.4.1-beta10
f7cbd60a3f57ff1101157eeb79ea21e8898bedae DRTVWR-235
baf97f06ae17223614c5e31aa42e71d87cff07fe DRTVWR-236
18498afcdb835d6fc4d36ed935347d3b65307bad 3.4.1-beta11
b2f21e3442542283a80e7eaebae9f833e5a927b6 DRTVWR-237
3f9be82de642d468c5fc272cb9d96b46b5498402 3.4.1-beta12
e59ffd3fe0838ae6b09b242a6e9df71761b88f41 3.4.1-release
81f6b745ef27f5915fd07f988fdec9944f2bb73e DRTVWR-186
cc953f00956be52cc64c30637bbeec310eea603f DRTVWR-181
c04e68e1b0034fd0a20815ae24c77e5f8428e822 DRTVWR-188
4b2c52aecb7a75de31dbb12d9f5b9a251d8707be DRTVWR-191
78ca0bbf43a92e8914d4cfa87d69a6717ef7d4cf DRTVWR-194
248f4acd92a706c79e842bc83d80baa7369c0c2e DRTVWR-203
de3be913f68813a9bac7d1c671fef96d1159bcd6 DRTVWR-202
34dbbe2b00afe90352d3acf8290eb10ab90d1c8b oz-build-test-tag
6ee71714935ffcd159db3d4f5800c1929aac54e1 DRTVWR-205
7b22c612fc756e0ea63b10b163e81d107f85dbf8 DRTVWR-206
b61afe175b829c149d369524a4e974dfda99facf DRTVWR-219
32896d5e920ca9a29256ff3b747c2e99752aa5ae DRTVWR-217
704bbae7b182a1f2811a47a054e680522966f54a 3.4.2-beta1
288539fc0408ed4b69a99665de33bbbc2c3c08fe DRTVWR-216
e664473c16df1d82ffaff382e7b3e023da202d52 3.4.2-beta2
0891d7a773a31397dcad48be3fa66531d567a821 DRTVWR-242
710785535362b3cb801b6a3dc4703be3373bd0cd 3.4.2-beta3
e9a5886052433d5db9e504ffaca10890f9932979 DRTVWR-243
73b84b9864dc650fe7c8fc9f52361450f0849004 3.4.2-beta4
16310aabccf315870f7cc9bf966926c0ad6954fa 3.4.2-release
d799593b53ed733862e9a13871e318e886469377 DRTVWR-208
e497dcde7a3653e384eb223a8a460030e89c294c DRTVWR-223
93ab02d83f51e30a3cabad98aff89601befd9413 DRTVWR-240
2aa72e3372a83dece4df9cf72fb1e7c34f90b5e3 DRTVWR-209
f7bedce18ad52283e6072814db23318907261487 DRTVWR-238
7b64c96fbcadf360bd2feaae19d330166b70877c DRTVWR-210
5e4e4128b256525bafc07a62e35ae8527aaa9c9d DRTVWR-241
f1d3b3fcab28ed9ea532bf50db0ba96f5c8cc8e9 DRTVWR-232
4918b150e75df6b516fb6c2616d32043fa6b4cac DRTVWR-245
94ab2b49458ab372a95d2d6949fdf574f413068d 3.4.3-beta1
965b9a35e260c0f53be1a25f0db7abc8a67eaf47 DRTVWR-252
bb10adc4f76cf0067fca7075146f00cdc0740e9d DRTVWR-251
ab0aa2f6ba22b52fed30a2337197f589156edc75 DRTVWR-253
48382ec79741671d19ce4cc3e8cd59e9a521e4a7 DRTVWR-254
937ec902bb9a1cbceff17bd89e3923352b0a5fbc DRTVWR-256
44e764a6ac9e672a4f3bce821a4b6a218590c374 DRTVWR-258
c23d734065ed593b2413385aecd8366d8e0ee96b DRTVWR-257
452ce96d4046dc05a3ecaecc203e2cc8ddd72e76 DRTVWR-259
daca610d840625b5bebb966a57cb49581852c417 DRTVWR-265
9afbdc4e24cc04feacfb2b7a10b78a64f780901a DRTVWR-266
73280db02501f5ad041fc18b1eba68e73a81996c DRTVWR-267
870e2d79e0063fda87187f17bbc2747766733194 3.4.3-beta3
0a2ca6546b499239afeb66d17b2fadbcdbe36ab1 3.4.3-release
4c3460cb1fb7c6da9965e09c734d282a8e9c81f0 DRTVWR-229
f4481df42f9a4a92bf475a80f0c51d1a4bbdfd59 DRTVWR-246
39c5204b6e800983a41ccac8ad6dc993120197c6 DRTVWR-247
7c7d57d393e8ae7b61623279de06eb4a62ccae6a DRTVWR-249
f72b50ef168c159d6e79e97aa2bcafaf8577ab99 DRTVWR-230
b418be80903520c492e1173f3afbc4021cad5d07 DRTVWR-255
9aa1aa9f1fe13c194695a0b8f0af298296241dc2 DRTVWR-260
84fbaf2d4141bd161731430e760949dc787ca206 DRTVWR-244
083d2d36b5bb1c54fc3dd7caac0e7ac381a9cef0 3.4.4-beta1
b634dec987c16e8c9c938e11e52591d9ead8fa9b DRTVWR-270
cd39255bd23330fd30c04105f2811e941d8524fe 3.4.4-beta2
2c4011bbc2b15b82198fd8b51f3a9fe765a08c4d DRTVWR-271
2f8a3ef687bc55828abcb17ac1ad7cde70536d7e 3.4.4-beta3
35cfd4cf5b895fa776592f2e630e330be7f0604e DRTVWR-273
c374035d459af3c03dea2dd90880dfc25de64706 DRTVWR-275
05d9f1dd7a954069af2a33abedb7713fa36a04cb 3.4.4-beta4
e1bb1ae7d8b12faeb37933a737c199cc9b9f89cc 3.4.4-release
391a8c74cec7275c5d26c85ad108d4782a3e3dd9 DRTVWR-268
a36f1f354b02aa6e448ca13685de167d0a0a3d03 DRTVWR-272
37dba00ad820de3a808d4039396b162a9c275b3e DRTVWR-269
7c6dfdc1b7a2ce0d8e3a8f3ce3058547ea065c0f DRTVWR-250
b9ff9730daa53a541925300cbd02bb14575a5705 DRTVWR-277
af6b711a97073431953b55ee808aaa09900c27e5 DRTVWR-276
8302fefde6c8f4a64bfc7f04929f8bc85f5c6c7b DRTVWR-279
c296133849d1f103c0e2abc41e6599daed00b67b DRTVWR-280
40a2265058abc9fde4914c10185f916435818621 3.4.5-beta1
5df4802bec93c8d0a509946d826bb4c50c5442ec DRTVWR-281
7c1c33ba4cfd2d15ca51cc1ac440eca551331a4a DRTVWR-283
6b9c7dbebef793230d64e1b452577c8b142d4143 3.4.5-beta2
ccf991e02dc2f63fb646324230d54832683f4a9b DRTVWR-286
2d849850558a5a0324b398d1c102d30bcbdfb88f DRTVWR-287
e06898df8644fe567bee94f817d03abc1c380993 3.4.5-beta3
a676b4d6c037b39fe5b8e42cf8839a9303936089 DRTVWR-289
28fa8b944a0c1869636ab00cc400f5aa71f6fa3c DRTVWR-290
7f09bbc28c297f14b67961be7b6575445fa160e8 DRTVWR-291
b23419a2748483c98f3b84b630468a21c88feba5 DRTVWR-292
1567de5700c273b583dac41b64275c223287306e 3.4.5-beta4
1cce8447f8f574673e3f47d6fe584262e6964fe2 DRTVWR-296
0a5d409161ef2a89b28c9a741051dd2dedc707d6 DRTVWR-297
852b69ef0b5fe6b13b69cc2217282cc64de6afab 3.4.5-beta5
a49c715243a36a8a380504d14cb7416b3039c956 3.4.5-release
37947e4f771f001b551581bf7cd0051c3153beed DRTVWR-282
6482cceb91cda68b799f3e6cdc66d33bf123547a DRTVWR-284
092a9effbedd1a0276fa5ced520992ce00f96fbf CHUI-PV-0
279ef1dfc9b749a6cc499cf190fec0c090b6d682 DRTVWR-288
9b19edaf1d8ddf435f60fbbb444dd25db8f63953 3.5.0-beta1
c6b3561c7d7ad365eeba669db54eb57b5149ce75 3.5.0-beta2
6d91ffd77bf2a20f18a2175eb7579da880ae12ac DRTVWR-302
f6ca5bb75bca975ff0bc77e71e615f6478c4559c 3.5.0-beta3
910b5fad950e343b58229f5a0aefa7729b9308b3 DRTVWR-303
53cffdde0b3cc367ba9bb6abd5c83ae14df5e882 3.5.0-beta4
4d5f6234dc59a0fb6ead5e02c7d343a0610e0488 DRTVWR-304
dd058a6093c493120d67c8e02c812c0f7b2d3db0 3.5.0-beta5
fd6b510e83f56830e45670c428653134899d3e25 DRTVWR-305
55339537d99afc394d1bb7fdb7d074bf321ca62f 3.5.0-beta6
902caf2b9fdbdbc5c399c4d5ebcecaf9cb97bab8 DRTVWR-306
5c6098fd17d40ee3a38ca6b64f6be9db7f61f0a8 3.5.0-beta7
adc360e6bf21390d2665380951d85937cd29a604 3.5.0-release
1ada73295ed0eaa4a772ef079c29f57069342c32 DRTVWR-310
20cdf370f5c8be6193bef6fb3a81cc3f81275191 3.5.1-beta1
2319904200de367646b9a9442239a38d52c1eeb5 DRTVWR-313
9d8726eca785acad694564516f16dd639faf45c0 3.5.1-beta2
4b7fa963b80e2056ab648f83a4d61310b3cedb3d DRTVWR-314
65ae89aeb7ea674a555e439e963f17949322ac94 3.5.1-beta3
13149a524874b608aeb76325b35faff113a5ea53 3.5.1-release
78a8fe6abf331944d6b6bb1ce1024a6bc08141f4 DRTVWR-298
50ccc12f38c3c99f03b374e32429cb043b73e2a6 DRTVWR-294
c2b1066514308dff1eeb91162392dfe08bf1c0fe DRTVWR-309
e6b8a92acffd693cd1459e4212e3dff1050acf67 DRTVWR-278
106f19cc011aafdfc9a6d12b641fe8db6e9735a7 3.5.2-beta1
509b97acc4ca1f2644197f1b555773ac0bb6838c 3.5.2-beta2
6cb3689d89c13876ce8fa8faefa7b05e4279502d DRTVWR-316
cfc3e650e5b2063288e7b832e9c9f521bbdacc92 DRTVWR-315
e6e35501f1fea252ef83080adcf30c3cb7c2f75c DRTVWR-299
b6a4ac8f1916ede76e8a023e1cf35c045d0ac707 3.5.2-beta3
a314f1c94374ab1f6633dd2983f7090a68663eb2 3.5.2-beta4
1cfa86d604909dfdb8b372069ff61f9afaa2aac1 MAINT-2647
895628bb5e162410cfdf4bca58f0a57d22ccfcde 3.5.2-beta5
9013c07bfe1c51107233f1924dccdcc5057dd909 3.5.2-beta6
9b1b6f33aa5394b27bb652b31b5cb81ef6060370 3.5.2-release
a277b841729f2a62ba1e34acacc964bc13c1ad6f 3.5.3-release
fb1630153bac5552046ea914af3f14deabc1def8 3.6.0-materials-beta1
0a56f33ad6aa112032b14a41dad759ad377bdde9 3.6.0-release
75cf8e855ae1af6895a35da475314c2b5acf1850 3.6.1-release
f6741d5fe8d632651424484df0fe0cb4a01e9fbe 3.6.2-release
fe4f7c5e9fd27e09d03deb1cc9ab3e5093f6309e 3.6.3-release
83357f31d8dbf048a8bfdc323f363bf4d588aca1 CHOP-951-a
91ed595b716f14f07409595b734fda891a59379e 3.6.4-release
bf6d453046011a11de2643fac610cc5258650f82 3.6.5-release
ae457ece77001767ae9613148c495e7b98cc0f4a 3.6.7-release
d40c66e410741de7e90b1ed6dac28dd8a2d7e1f6 3.6.8-release
70eda3721d36df3e00730629c42a1304e5bc65b8 3.6.9-release
5b54b36862ff8bc3b6935673c9d1c1f22ee8d521 3.6.10-release
2feb70a4cfde43f2898d95ff8fcae3e67805c7c2 3.6.11-release
88bbfd7a6971033f3aa103f3a3500ceb4c73521b 3.6.12-release
0d9b9e50f1a8880e05f15688a9ec7d09e0e81013 3.6.13-release
5d746de933a98ca17887cde2fece80e9c7ab0b98 3.7.0-release
dcb4981ce255841b6083d8f65444b65d5a733a17 3.7.1-release
b842534cb4d76c9ef87676a62b1d2d19e79c015f 3.7.2-release
962d3f98955bfc7310a7867c8cbc3df075e54aa9 3.7.3-release
d076568ff7883b41c149e6afb421f39c29dbfe2b 3.7.4-release
fc066b82343fca51f9c1b8eda0abc6bee9bb4503 3.7.5-release
d029faf69f20a23007f32420a1ac6a3b89a6d441 3.7.6-release
83959480cb986522d07b151a0c778ab7f920d41b 3.7.7-release
bba9b3722eea08949e4ff69591f736bf0f808434 3.7.8-release
a9f2d0cb11f73b06858e6083bb50083becc3f9cd 3.7.9-release
91dae9494b4d147541c7a01902334ba19a7ec05e 3.7.10-release
64799eb298834073a3e9992cd8d27c3cb9d30b10 3.7.11-release
3b44ea8988cb902f0dda8429e8d5e4569e304532 3.7.12-release
d86a7e1bc96d27b683f951d3701d5b7042158c68 3.7.13-release
a7872554f3665588f1e8347d472cec3a299254b3 3.7.14-release
3f11f57f2b4d15a9f987d12bc70ef507eefb5018 3.7.15-release
562e7dace7465060ac9adb2e8eca800b699ff024 3.7.16-release
bcc2770e21c125e0bab59141c51db9145aec068d 3.7.17-release
2729c1daf0257d68a40bdbc4acf1a16184974bbd 3.7.18-release
82973b38a6c9a457333e3519e4f2b16bb5eedf47 3.7.19-release
27094824773b907c2e559396e6f9ec3a963de52d 3.7.20-release
9ecab4b0c7d8614767724a3422d3c1dca6bd4e4f 3.7.21-release
bc61801f614022c920cb5c3df1d7d67a9561ce1f 3.7.22-release
3be800e1afad9615442159e388d6d137be7b951e 3.7.23-release
d3d0101e980ec95043e0af9b7903045d3bc447e4 3.7.24-release
9978a8c3a2ffce4a5e1c186256581c2ac139c9dc 3.7.25-release
000e9dda4162cbf0a83ba88558b19473654a09a9 3.7.26-release
afd8d4756e8eda3c8f760625d1c17a2ad40ad6c8 3.7.27-release
566874eb5ab26c003ef7fb0e22ce40c5fa0013f4 3.7.28-release
d07f76c5b9860fb87924d00ca729f7d4532534d6 3.7.29-release
67edc442c80b8d2fadd2a6c4a7184b469906cdbf 3.7.30-release
797ed69e6134ef48bb922577ab2540fb2d964668 3.8.0-release
3f61ed662347dc7c6941b8266e72746a66d90e2a 3.8.1-release
3a62616f3dd8bd512fcdfd29ef033b2505b11213 3.8.2-release
60572f718879f786f6bc8b5c9373ebebf4693078 3.8.3-release
27e3cf444c4cc645884960a61325a9ee0e9a2d0f 3.8.4-release
e821ef17c6edea4a59997719d8ba416d8c16e143 3.8.5-release
5a5bd148943bfb46cf2ff2ccf376c42dee93d19b 3.8.6-release
ae3297cdd03ab14f19f3811acbc4acd3eb600336 4.0.0-release
759710a9acef61aaf7b69f4bc4a5a913de87ad8a 4.0.1-release
e9d350764dfbf5a46229e627547ef5c1b1eeef00 4.0.2-release
86dfba7ec4332c323025ebeacd8bf343ed0d8cfd 4.0.3-release
0a5de9ec2cb868f367501024d8d6958c20869053 4.0.4-release
450de775fff66a011be1a001acd117cc623c445d 4.0.5-release
4070611edd95eb3a683d1cd97c4c07fe67793812 4.0.6-release
33981d8130f031597b4c7f4c981b18359afb61a0 4.0.7-release
45eaee56883df7a439ed3300c44d3126f7e3a41e 4.0.8-release
b280a1c797a3891e68dbc237e73de9cf19f426e9 4.1.1-release
bfbba2244320dc2ae47758cd7edd8fa3b67dc756 4.1.2-release
b41e1e7c7876f7656c505f552b5888b4e478f92b 5.0.0-release
c9ce2295012995e3cf5c57bcffcb4870b94c649f 5.0.1-release
cea1632c002c065985ebea15eeeb4aac90f50545 5.0.2-release
02c24e9f4f7d8aa0de75f27817dda098582f4936 5.0.3-release
022709ef76a331cac1ba6ef1a6da8a5e9ef63f5a 5.0.4-release
b4d76b5590fdf8bab72c64442353753a527cbc44 5.0.5-release
3e5035dfd8af49bd4c0009f0a76ef46a15991a45 5.0.6-release
abcab37e1b29414ab8c03af9ca2ab489d809788a 5.0.7-release
505a492f30bd925bb48e2e093ae77c3c2b4c740f 5.0.8-release
40ca7118765be85a043b31b011e4ee6bd9e33c95 5.0.9-release
ad0e15543836d64d6399d28b32852510435e344a 5.1.0-release
26d9e9bb166a9a417f35b1863223a597af8185fd 5.1.1-release
2eb917875efdfe920680b9049302d0f03721245d 5.1.2-release
7c00e5b6cb3d95712e9d8e29277c805bca2bda90 5.1.3-release
7b6b020fd5ad9a8dc3670c5c92d1ca92e55fc485 5.1.4-release
2ea47f358b171178eb9a95503a1670d519c2886f 5.1.5-release
04538b8157c1f5cdacd9403f0a395452d4a93689 5.1.6-release
ac3b1332ad4f55b7182a8cbcc1254535a0069f75 5.1.7-release
23ea0fe36fadf009a60c080392ce80e4bf8af8d9 5.1.8-release
52422540bfe54b71155aa455360bee6e3ef1fd96 5.1.9-release
1cfa567caf5088ae299271be08cc2d9f0801ff6a pre-Poseidon
821edfcd14919c0e95c590866171c61fb57e8623 6.0.0-release
21b7604680ef6b6ea67f8bebaaa588d6e263bdc1 6.0.1-release
a3143db58a0f6b005232bf9018e7fef17ff9ec90 6.1.0-release
50f0ece62ddb5a244ecb6d00ef5a89d80ad50efa 6.1.1-release
82a89165e5929a6c3073d6cd60a543cb395f147b 6.2.0-release
706bdc7e25c6e6b8fb56f4a13fcce2936e70a79c 6.2.1-release
ec09daf1899c1c01c4ba0ba950fae572f2a612a8 6.2.2-release
ab2ec5c5423b277d23fd0511ce50c15123ff2e03 6.2.3-release
67297f9902857e357570c44722ad84de3aff974e 6.2.4-release
9777aec6dc4a30a24537297ac040861ce16b82ae 6.3.0-release
ece699718f163921717bb95a6131e94af4c4138f 6.3.1-release
ci:
autofix_prs: false
repos:
- repo: https://github.com/secondlife/git-hooks.git
rev: v1.0.2
hooks:
- id: llsd
- id: no-trigraphs
- id: end-of-file
files: \.(cpp|c|h|py|glsl|cmake|txt)$
exclude: language.txt
- id: indent-with-spaces
files: \.(cpp|c|h|inl|py|glsl|cmake)$
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-xml
- id: mixed-line-ending
# BuildParams
#
# Please refer to:
# https://wiki.secondlife.com/wiki/Automated_Build_System
# Variants (NOTE: 'Release' must be last for uploads to work correctly)
variants = "RelWithDebInfo Release"
# Use Public Upload Locations
public_build = true
build_docs = true
# enable Doxygen building on Linux for TeamCity (it can be done manually on any platform)
build_Linux_Doxygen = true
# Need viewer-build-variables as well as other shared repositories
buildscripts_shared_more_NAMEs="build_secrets build_variables"
################################################################
#### Examples of how to set the viewer_channel ####
#
# To build a Release or Release candidate in build bingo:
# bingo.viewer_channel = "Second Life Release"
#
# To build a Beta for the 'Bingo' project in build bingo:
# bingo.viewer_channel = "Second Life Beta Bingo"
#
# To build a Project viewer for the 'Bingo' project in build bingo:
# bingo.viewer_channel = "Second Life Project Bingo"
#
# If left unset, viewer_channel defaults to 'Second Life Test',
# which is appropriate for individual developer builds.
#
# All Linden Lab builds (and only Linden Lab builds)
# should use a viewer_channel that begins with "Second Life"
################################################################
viewer_channel = "Second Life Test"
################################################################
# Special packaging parameters.
# These parameters can be used to create additional packages
# which identify themselves in a distinct way with either
# a sourceid (sent to web services) or a channel name (sent to login)
# the default sourceid should always be a null string:
sourceid = ""
# the additional_packages variable is a blank separated list of package prefixes:
# additional_packages = ""
# to set the special values for a package, create variables using each prefix:
# additional_packages = "Foo Bar"
# Foo_sourceid = "bingo"
# Foo_viewer_channel_suffix = "Foo"
# Bar_sourceid = "bongo"
# Bar_viewer_channel_suffix = "Bar"
# the viewer_channel_suffix is prefixed by a blank and then appended to the viewer_channel
# for the package in a setting that overrides the compiled-in value
################################################################
additional_packages = "EDU"
Linux.additional_packages = ""
# The EDU package allows us to create a separate release channel whose expirations
# are synchronized as much as possible with the academic year
EDU_sourceid = ""
EDU_viewer_channel_suffix = "edu"
# Notifications - to configure email notices use the TeamCity parameter
# setting screen for your project or build configuration to set the
# environment variable 'email' to a space-separated list of email addresses
email=""
# Protect sensitive files
.gitlab-ci.yml @rye
\ No newline at end of file
# Contributor guidelines
Thanks for your interest in contributing to Alchemy Viewer! This document
summarizes some of the most important points for people looking to contribute
to the project especially those looking to provide bug reports and code
changes.
## Table of contents
- [Contributor guidelines](#contributor-guidelines)
- [Table of contents](#table-of-contents)
- [Communication](#communication)
- [Reporting Bugs and Requesting Features](#reporting-bugs-and-requesting-features)
- [Importance of Your Feedback](#importance-of-your-feedback)
- [Our Relationship with Linden Lab and Code Inheritance](#our-relationship-with-linden-lab-and-code-inheritance)
- [Reporting Bugs to Linden Lab](#reporting-bugs-to-linden-lab)
- [Submitting Feedback to Alchemy Viewer](#submitting-feedback-to-alchemy-viewer)
- [Contributing pull requests](#contributing-pull-requests)
## Communication
Alchemy Viewer has multiple channels for communication. Some of these channels are
more end-user focused while others are more tailored for developer-to-developer or support.
- [Our Discord][discord] is the primary community engagement platform for the project.
This is where we announce our releases, answer questions from the community,
and provide support to users. This is also a great place for developers to interact
with the Alchemy users to determine if their feature is interesting to them.
- [Github issues][] provide a means for developers and contributors to organize
their work and collaborate with other developers. By default most user-facing
discussions should happen on [the Discord][discord] so that they are
visible to more people, and can build consensus.
## Reporting Bugs and Requesting Features
### Importance of Your Feedback
We value your feedback and invite you to help us identify bugs and suggest new features for Alchemy Viewer.
Your input is crucial in shaping the future of our project.
Your cooperation with these guidelines will help us improve Alchemy Viewer,
and ensures that Linden Lab can address broader issues within their codebase.
### Our Relationship with Linden Lab and Code Inheritance
It's important to note that while we are not affiliated with or endorsed by Linden Lab,
the creators of Second Life, our viewer incorporates a significant amount of code from them.
This shared codebase means some issues may originate from the Linden Lab viewer,
and addressing these effectively benefits both viewers.
### Reporting Bugs to Linden Lab
If you encounter defects or unwanted behavior that are inherited from the official Second Life viewer,
please report these issues directly to Linden Lab.
Before submitting a bug report to Alchemy Viewer, kindly check the [official Second Life viewer][lindenviewer]
to determine if the defect exists there as well.
Reporting it to Linden Lab, if it hasn't already been reported, will ensure they are aware of the issue.
If you are unsure, you are encouraged to share your findings with an Alchemy team member to receive guidance.
Linden Lab's page for submitting bug reports can be found on [feedback.secondlife.com/bug-reports][lindenbugs].
### Submitting Feedback to Alchemy Viewer
If the defect is unique to Alchemy Viewer or pertains to features exclusive to our viewer, please proceed to submit your bug report to us on Github. Provide as much detail as possible, including steps to reproduce the issue, logs, and screenshots if available. This information will help us diagnose and address the problem more efficiently.
## Contributing pull requests
If you wish to contribute a new pull request, please ensure that:
- You talk to other developers about how best to implement the work.
- The functionality is desired. Be sure to talk to users and members of the Alchemy
team to ensure the work is a good idea and will be accepted.
- The work is high quality and the PR follows [PR etiquette][]
- You have tested the work locally
The [Git Style Guide](https://github.com/agis/git-style-guide) is also a good
reference for best git practices.
[PR etiquette]: https://gist.github.com/mikepea/863f63d6e37281e329f8
[Github issues]: https://github.com/AlchemyViewer/Alchemy/issues
[discord]: https://discordapp.com/invite/KugCgs6
[lindenviewer]: https://releasenotes.secondlife.com/viewer.html
[lindenbugs]: https://feedback.secondlife.com/bug-reports