Skip to content

chore(deps): update dependency @vuepress/bundler-vite to v2.0.0-rc.31 #4263

chore(deps): update dependency @vuepress/bundler-vite to v2.0.0-rc.31

chore(deps): update dependency @vuepress/bundler-vite to v2.0.0-rc.31 #4263

Workflow file for this run

name: .NET
on:
push:
branches: [dev, master, beta]
pull_request:
branches: [dev, master, beta]
permissions:
contents: read
pull-requests: read
env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
NODEJS: lts/*
jobs:
changes:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-changes
cancel-in-progress: true
runs-on: ubuntu-latest
outputs:
ci: ${{ steps.filter.outputs.ci }}
sound-switch: ${{ steps.filter.outputs.sound-switch }}
node: ${{ steps.filter.outputs.node }}
website: ${{ steps.filter.outputs.website }}
translations: ${{ steps.filter.outputs.translations }}
translation-files: ${{ steps.filter.outputs.translations_files }}
steps:
- uses: actions/checkout@v7
- uses: dorny/paths-filter@v4
id: filter
with:
list-files: shell
filters: |
ci:
- '.github/**/*.yml'
sound-switch:
- 'SoundSwitch*/**'
- 'Directory.Packages.props'
- 'global.json'
- 'nuget.config'
node:
- 'package.json'
- 'package-lock.json'
- '.releaserc'
- '.releaserc.json'
- '.releaserc.yaml'
- '.releaserc.yml'
- '.releaserc.js'
- '.releaserc.cjs'
- 'release.config.js'
- 'release.config.cjs'
website:
- 'website/**'
- '.github/workflows/docs.yml'
translations:
- 'SoundSwitch/**/*.resx'
validate-translations:
needs: changes
if: needs.changes.outputs.translations == 'true'
runs-on: windows-latest
steps:
- uses: actions/checkout@v7
- name: Install Python
uses: actions/setup-python@v7
with:
python-version: "3.x"
- name: Validate the string of translation (brackets)
shell: pwsh
run: python tools\check_brackets.py ${{ needs.changes.outputs.translation-files }}
build:
needs: changes
if: github.ref != 'refs/heads/dev' && (needs.changes.outputs.sound-switch == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/master')
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-build
cancel-in-progress: true
uses: ./.github/workflows/reusable-build.yml
with:
configuration: Release
secrets: inherit
build-nightly:
needs: changes
if: github.ref != 'refs/heads/dev' && (needs.changes.outputs.sound-switch == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/master')
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-build-nightly
cancel-in-progress: true
uses: ./.github/workflows/reusable-build.yml
with:
configuration: Nightly
secrets: inherit
release-dry-run:
needs: changes
if: needs.changes.outputs.node == 'true' || needs.changes.outputs.ci == 'true'
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v7
with:
node-version: ${{ env.NODEJS }}
- name: Cache node modules
uses: actions/cache@v6
env:
cache-name: cache-node-modules
with:
path: npm-cache
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
- name: Install semantic-release dependencies
run: npm ci --prefer-offline --silent --cache npm-cache
- name: Release dry run
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release --dry-run --no-ci
build-docs:
needs: changes
if: needs.changes.outputs.website == 'true' || needs.changes.outputs.ci == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version-file: 'website/.nvmrc'
- run: npm ci
working-directory: website
- run: npm run docs:build
working-directory: website
merge-gate:
if: always() && github.event_name == 'pull_request'
needs:
- changes
- validate-translations
- build
- build-nightly
- release-dry-run
- build-docs
runs-on: ubuntu-latest
steps:
- name: Validate required checks
shell: bash
run: |
set -euo pipefail
require_dotnet="${{ needs.changes.outputs.sound-switch == 'true' || needs.changes.outputs.ci == 'true' }}"
require_translations="${{ needs.changes.outputs.translations == 'true' }}"
require_release="${{ needs.changes.outputs.node == 'true' || needs.changes.outputs.ci == 'true' }}"
require_docs="${{ needs.changes.outputs.website == 'true' || needs.changes.outputs.ci == 'true' }}"
changes_result="${{ needs.changes.result }}"
dotnet_result="${{ needs.build.result }}"
nightly_result="${{ needs.build-nightly.result }}"
translations_result="${{ needs.validate-translations.result }}"
release_result="${{ needs['release-dry-run'].result }}"
docs_result="${{ needs['build-docs'].result }}"
failed=0
if [[ "${changes_result}" != "success" ]]; then
echo "Changes job failed or was cancelled. Result: ${changes_result}"
failed=1
fi
if [[ "${require_dotnet}" == "true" && "${dotnet_result}" != "success" ]]; then
echo "C# build is required but result was: ${dotnet_result}"
failed=1
fi
if [[ "${require_dotnet}" == "true" && "${nightly_result}" != "success" ]]; then
echo "C# Nightly build is required but result was: ${nightly_result}"
failed=1
fi
if [[ "${require_translations}" == "true" && "${translations_result}" != "success" ]]; then
echo "Translation validation is required but result was: ${translations_result}"
failed=1
fi
if [[ "${require_release}" == "true" && "${release_result}" != "success" ]]; then
echo "Semantic release dry run is required but result was: ${release_result}"
failed=1
fi
if [[ "${require_docs}" == "true" && "${docs_result}" != "success" ]]; then
echo "Docs build is required but result was: ${docs_result}"
failed=1
fi
if [[ "${failed}" -eq 1 ]]; then
exit 1
fi
echo "Merge gate passed."