summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorAndrey Lihatskiy <118752495+marchcat@users.noreply.github.com>2025-12-04 00:30:33 +0200
committerGitHub <noreply@github.com>2025-12-04 00:30:33 +0200
commit8c134d5a4a9f08a87104530fe910bc39434cacf2 (patch)
treedad5ddf6daf7f5e1bc7b47cd670a99ca73d4c5a1 /.github
parent2c3ce8fb8ce3967d957e13d48627b45dd32f0e00 (diff)
parent590f58dbad3dc3db3482dba86bf2619a87a7dad5 (diff)
Merge pull request #5020 from secondlife/marchcat/slua-linux
develop-linux → SLua PV merge
Diffstat (limited to '.github')
-rw-r--r--.github/labeler.yaml98
-rw-r--r--.github/workflows/build.yaml94
-rw-r--r--.github/workflows/check-pr.yaml2
-rw-r--r--.github/workflows/cla.yaml2
-rw-r--r--.github/workflows/label.yaml2
-rw-r--r--.github/workflows/pre-commit.yaml2
-rw-r--r--.github/workflows/stale.yaml2
-rw-r--r--.github/workflows/tag-release.yaml2
8 files changed, 142 insertions, 62 deletions
diff --git a/.github/labeler.yaml b/.github/labeler.yaml
index 5a6590d4aa..6359419ba6 100644
--- a/.github/labeler.yaml
+++ b/.github/labeler.yaml
@@ -1,81 +1,109 @@
llappearance:
- - indra/llappearance/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llappearance/**
llaudio:
- - indra/llaudio/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llaudio/**
llcharacter:
- - indra/llcharacter/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llcharacter/**
llcommon:
- - indra/llcommon/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llcommon/**
llcorehttp:
- - indra/llcorehttp/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llcorehttp/**
llcrashlogger:
- - indra/llcrashlogger/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llcrashlogger/**
llfilesystem:
- - indra/llfilesystem/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llfilesystem/**
llimage:
- - indra/llimage/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llimage/**
llimagej2coj:
- - indra/llimagej2coj/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llimagej2coj/**
llinventory:
- - indra/llinventory/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llinventory/**
llkdu:
- - indra/llkdu/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llkdu/**
llmath:
- - indra/llmath/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llmath/**
llmeshoptimizer:
- - indra/llmeshoptimizer/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llmeshoptimizer/**
llmessage:
- - indra/llmessage/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llmessage/**
llplugin:
- - indra/llplugin/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llplugin/**
llprimitive:
- - indra/llprimitive/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llprimitive/**
llrender:
- - indra/llrender/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llrender/**
llui:
- - indra/llui/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llui/**
llwindow:
- - indra/llwindow/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llwindow/**
llxml:
- - indra/llxml/**/*
+- changed-files:
+ - any-glob-to-any-file: indra/llxml/**
cmake:
- - '**/*.cmake'
- - '**/*/cmake/*'
- - '**/CMakeLists.txt'
+- changed-files:
+ - any-glob-to-any-file:
+ - '**/*.cmake'
+ - '**/*/cmake/*'
+ - '**/CMakeLists.txt'
python:
- - '**/*.py'
+- changed-files:
+ - any-glob-to-any-file: '**/*.py'
c/cpp:
- - '**/*.c'
- - '**/*.cpp'
- - '**/*.cxx'
- - '**/*.h'
- - '**/*.hpp'
- - '**/*.hxx'
- - '**/*.i'
- - '**/*.inl'
- - '**/*.y'
+- changed-files:
+ - any-glob-to-any-file:
+ - '**/*.c'
+ - '**/*.cpp'
+ - '**/*.cxx'
+ - '**/*.h'
+ - '**/*.hpp'
+ - '**/*.hxx'
+ - '**/*.i'
+ - '**/*.inl'
+ - '**/*.y'
-'team:viewer':
- - '*'
+objc:
+- changed-files:
+ - any-glob-to-any-file:
+ - '**/*.m'
+ - '**/*.mm'
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 4c948e5586..df927eb187 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -43,7 +43,7 @@ jobs:
needs: setup
strategy:
matrix:
- runner: ${{ fromJson((github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/Second_Life')) && '["windows-large","macos-15-xlarge"]' || '["windows-2022","macos-15-xlarge"]') }}
+ runner: ${{ fromJson((github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/Second_Life')) && '["windows-large","macos-15-xlarge","linux-large"]' || '["windows-2022","macos-15-xlarge","ubuntu-22.04"]') }}
configuration: ${{ fromJson(needs.setup.outputs.configurations) }}
runs-on: ${{ matrix.runner }}
outputs:
@@ -90,8 +90,22 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
+ - name: Linux Disk Cleanup
+ if: runner.os == 'Linux'
+ run: |
+ # Prune various unused files from linux builder to fix free runner disk space exhaustion
+ df -h
+ sudo docker container prune -f
+ sudo docker image prune -a -f
+ sudo rm -rf /usr/local/share/boost
+ sudo rm -rf /usr/share/dotnet
+ sudo rm -rf /usr/local/lib/android
+ sudo rm -rf /opt/ghc
+ sudo rm -rf /usr/local/.ghcup
+ df -h
+
- name: Setup python
- uses: actions/setup-python@v5
+ uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Checkout build variables
@@ -120,6 +134,21 @@ jobs:
${{ runner.os }}-64-${{ matrix.configuration }}-
${{ runner.os }}-64-
+ - name: Install Linux dependencies
+ if: runner.os == 'Linux'
+ run: |
+ sudo apt update
+ sudo apt install -y \
+ libpulse-dev libunwind-dev \
+ libgl1-mesa-dev libglu1-mesa-dev libxinerama-dev \
+ libxcursor-dev libxfixes-dev libgstreamer1.0-dev \
+ libgstreamer-plugins-base1.0-dev ninja-build libxft-dev \
+ libpipewire-0.3-dev libdbus-1-dev libvlc-dev \
+ libosmesa6-dev
+ sudo locale-gen en_US.UTF-8
+ sudo locale-gen en_GB.UTF-8
+ sudo locale-gen fr_FR.UTF-8
+
- name: Determine source branch
id: which-branch
uses: secondlife/viewer-build-util/which-branch@v2
@@ -298,6 +327,16 @@ jobs:
path: |
${{ steps.build.outputs.physicstpv }}
+ - name: Upload appearance utility package
+ uses: actions/upload-artifact@v4
+ if: steps.build.outputs.appearanceutility
+ with:
+ name: "${{ steps.build.outputs.artifact }}-appearanceutility"
+ # emitted by build.sh, zero or one lines
+ path: |
+ ${{ steps.build.outputs.appearanceutility }}
+
+
sign-and-package-windows:
env:
AZURE_KEY_VAULT_URI: ${{ secrets.AZURE_KEY_VAULT_URI }}
@@ -362,8 +401,9 @@ jobs:
post-windows-symbols:
env:
- BUGSPLAT_USER: ${{ secrets.BUGSPLAT_USER }}
- BUGSPLAT_PASS: ${{ secrets.BUGSPLAT_PASS }}
+ BUGSPLAT_DATABASE: "${{ secrets.BUGSPLAT_DATABASE }}"
+ SYMBOL_UPLOAD_CLIENT_ID: "${{ secrets.BUGSPLAT_SYMBOL_UPLOAD_CLIENT_ID }}"
+ SYMBOL_UPLOAD_CLIENT_SECRET: "${{ secrets.BUGSPLAT_SYMBOL_UPLOAD_CLIENT_SECRET }}"
needs: build
if: needs.build.outputs.configuration == 'Release'
runs-on: ubuntu-latest
@@ -374,71 +414,82 @@ jobs:
name: Windows-app
path: _artifacts
- name: Download Windows Symbols
- if: env.BUGSPLAT_USER && env.BUGSPLAT_PASS
+ if: env.BUGSPLAT_DATABASE && env.SYMBOL_UPLOAD_CLIENT_ID
uses: actions/download-artifact@v4
with:
name: Windows-symbols
- name: Extract viewer pdb
- if: env.BUGSPLAT_USER && env.BUGSPLAT_PASS
+ if: env.BUGSPLAT_DATABASE && env.SYMBOL_UPLOAD_CLIENT_ID
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
+ if: env.BUGSPLAT_DATABASE && env.SYMBOL_UPLOAD_CLIENT_ID
+ uses: BugSplat-Git/symbol-upload@095d163ae9ceb006d286a731dcd35cf6a1b458c8
with:
- username: ${{ env.BUGSPLAT_USER }}
- password: ${{ env.BUGSPLAT_PASS }}
- database: "SecondLife_Viewer_2018"
+ clientId: "${{ env.SYMBOL_UPLOAD_CLIENT_ID }}"
+ clientSecret: "${{ env.SYMBOL_UPLOAD_CLIENT_SECRET }}"
+ database: "${{ env.BUGSPLAT_DATABASE }}"
application: ${{ needs.build.outputs.viewer_channel }}
version: ${{ needs.build.outputs.viewer_version }}
directory: _artifacts
files: "**/{SecondLifeViewer.exe,llwebrtc.dll,*.pdb}"
+ node-version: "22"
+ dumpSyms: false
post-mac-symbols:
env:
- BUGSPLAT_USER: ${{ secrets.BUGSPLAT_USER }}
- BUGSPLAT_PASS: ${{ secrets.BUGSPLAT_PASS }}
+ BUGSPLAT_DATABASE: "${{ secrets.BUGSPLAT_DATABASE }}"
+ SYMBOL_UPLOAD_CLIENT_ID: "${{ secrets.BUGSPLAT_SYMBOL_UPLOAD_CLIENT_ID }}"
+ SYMBOL_UPLOAD_CLIENT_SECRET: "${{ secrets.BUGSPLAT_SYMBOL_UPLOAD_CLIENT_SECRET }}"
needs: build
if: needs.build.outputs.configuration == 'Release'
runs-on: ubuntu-latest
steps:
- name: Download Mac Symbols
- if: env.BUGSPLAT_USER && env.BUGSPLAT_PASS
+ if: env.BUGSPLAT_DATABASE && env.SYMBOL_UPLOAD_CLIENT_ID
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
+ if: env.BUGSPLAT_DATABASE && env.SYMBOL_UPLOAD_CLIENT_ID
+ uses: BugSplat-Git/symbol-upload@095d163ae9ceb006d286a731dcd35cf6a1b458c8
with:
- username: ${{ env.BUGSPLAT_USER }}
- password: ${{ env.BUGSPLAT_PASS }}
- database: "SecondLife_Viewer_2018"
+ clientId: "${{ env.SYMBOL_UPLOAD_CLIENT_ID }}"
+ clientSecret: "${{ env.SYMBOL_UPLOAD_CLIENT_SECRET }}"
+ database: "${{ env.BUGSPLAT_DATABASE }}"
application: ${{ needs.build.outputs.viewer_channel }}
version: ${{ needs.build.outputs.viewer_version }} (${{ needs.build.outputs.viewer_version }})
directory: .
files: "**/*.xcarchive.zip"
+ node-version: "22"
+ dumpSyms: false
release:
needs: [setup, build, sign-and-package-windows, sign-and-package-mac]
runs-on: ubuntu-latest
if: needs.setup.outputs.release_run
steps:
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@v5
with:
pattern: "*-installer"
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@v5
with:
pattern: "*-metadata"
+ - uses: actions/download-artifact@v5
+ with:
+ name: "Linux-app"
+
- 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
+ cp Linux-metadata/autobuild-package.xml Linux-autobuild-package.xml
+ cp Linux-metadata/newview/viewer_version.txt Linux-viewer_version.txt
# forked from softprops/action-gh-release
- name: Create GitHub release
@@ -462,6 +513,7 @@ jobs:
files: |
macOS-installer/*.dmg
Windows-installer/*.exe
+ *.tar.xz
*-autobuild-package.xml
*-viewer_version.txt
diff --git a/.github/workflows/check-pr.yaml b/.github/workflows/check-pr.yaml
index a5cee9157c..08e907e83f 100644
--- a/.github/workflows/check-pr.yaml
+++ b/.github/workflows/check-pr.yaml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check PR description
- uses: actions/github-script@v7
+ uses: actions/github-script@v8
with:
script: |
const description = context.payload.pull_request.body || '';
diff --git a/.github/workflows/cla.yaml b/.github/workflows/cla.yaml
index 627ba512c4..5b31c584d5 100644
--- a/.github/workflows/cla.yaml
+++ b/.github/workflows/cla.yaml
@@ -23,4 +23,4 @@ jobs:
path-to-signatures: signatures.json
remote-organization-name: secondlife
remote-repository-name: cla-signatures
- allowlist: callum@mbp.localdomain,rye@lindenlab.com,rye
+ allowlist: callum@mbp.localdomain,rye@lindenlab.com,rye,bot*
diff --git a/.github/workflows/label.yaml b/.github/workflows/label.yaml
index 6e41d8aa2d..218327ef47 100644
--- a/.github/workflows/label.yaml
+++ b/.github/workflows/label.yaml
@@ -9,7 +9,7 @@ jobs:
pull-requests: write
runs-on: ubuntu-latest
steps:
- - uses: actions/labeler@v4
+ - uses: actions/labeler@v6
with:
configuration-path: .github/labeler.yaml
repo-token: "${{ secrets.GITHUB_TOKEN }}"
diff --git a/.github/workflows/pre-commit.yaml b/.github/workflows/pre-commit.yaml
index 726e1cd889..8f942fa11b 100644
--- a/.github/workflows/pre-commit.yaml
+++ b/.github/workflows/pre-commit.yaml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- - uses: actions/setup-python@v4
+ - uses: actions/setup-python@v6
with:
python-version: 3.x
- uses: pre-commit/action@v3.0.1
diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml
index f77151a815..edfe71b693 100644
--- a/.github/workflows/stale.yaml
+++ b/.github/workflows/stale.yaml
@@ -12,7 +12,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- - uses: actions/stale@v6
+ - uses: actions/stale@v10
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
diff --git a/.github/workflows/tag-release.yaml b/.github/workflows/tag-release.yaml
index 24ee2de794..2922065f99 100644
--- a/.github/workflows/tag-release.yaml
+++ b/.github/workflows/tag-release.yaml
@@ -35,7 +35,7 @@ jobs:
echo NIGHTLY_DATE=${NIGHTLY_DATE} >> ${GITHUB_ENV}
echo TAG_ID="$(echo ${{ github.sha }} | cut -c1-8)-${{ inputs.project || '${NIGHTLY_DATE}' }}" >> ${GITHUB_ENV}
- name: Update Tag
- uses: actions/github-script@v7.0.1
+ uses: actions/github-script@v8
with:
# use a real access token instead of GITHUB_TOKEN default.
# required so that the results of this tag creation can trigger the build workflow