Bump express from 4.18.2 to 4.19.2 in /apps/angular-demo #875
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Pull Request | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: [main] | |
env: | |
TARGET: Release | |
jobs: | |
changes: | |
runs-on: ubuntu-latest | |
permissions: | |
pull-requests: read | |
outputs: | |
github: ${{ steps.filter.outputs.github }} | |
apps: ${{ steps.filter.outputs.apps }} | |
bindings: ${{ steps.filter.outputs.bindings }} | |
cmake: ${{ steps.filter.outputs.cmake }} | |
include: ${{ steps.filter.outputs.include }} | |
libs: ${{ steps.filter.outputs.libs }} | |
root: ${{ steps.filter.outputs.root }} | |
scripts: ${{ steps.filter.outputs.scripts }} | |
source: ${{ steps.filter.outputs.source }} | |
typescript: ${{ steps.filter.outputs.typescript }} | |
steps: | |
# For pull requests it's not necessary to checkout the code | |
- uses: dorny/paths-filter@v2 | |
id: filter | |
with: | |
filters: | | |
github: | |
- '.github/workflows/pull-request.yml' | |
apps: | |
- 'apps/**' | |
bindings: | |
- 'bindings/netstandard/**' | |
- 'src/electionguard-ui/ElectionGuard.UI.Lib/**' | |
cmake: | |
- 'cmake/**' | |
include: | |
- 'include/**' | |
libs: | |
- 'libs/**' | |
root: | |
- 'CMakeLists.txt' | |
- 'Makefile' | |
scripts: | |
- 'scripts/**' | |
source: | |
- 'src/electionguard/**' | |
- 'src/CMakeLists.txt' | |
- 'test/**' | |
typescript: | |
- 'bindings/typescript/**' | |
- 'src/electionguard/wasm/**' | |
build_and_test: | |
needs: changes | |
name: ${{ matrix.name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
name: | |
[ | |
"ubuntu-22.04-clang-14.0.0", | |
"ubuntu-22.04-emscripten-3.1", | |
"ubuntu-22.04-gcc-12.1.0", | |
"macos-13-xcode-14.2", | |
"macos-13-xcode-14.2-arm64", | |
"windows-2022-gcc-11", | |
"windows-2022-msvc-latest-x86", | |
"windows-2022-msvc-latest-x64", | |
"ubuntu-22.04-linter", | |
] | |
include: | |
- name: ubuntu-22.04-clang-14.0.0 | |
os: ubuntu-22.04 | |
processor: x64 | |
compiler: clang | |
version: "14" | |
makeReleaseBuild: false | |
lint: false | |
runCsTests: false | |
runTsTests: false | |
- name: ubuntu-22.04-emscripten-3.1 | |
os: ubuntu-22.04 | |
processor: x64 | |
compiler: emscripten | |
version: "3.1.35" | |
makeReleaseBuild: true | |
lint: false | |
runCsTests: false | |
runTsTests: true | |
- name: ubuntu-22.04-gcc-12.1.0 | |
os: ubuntu-22.04 | |
processor: x64 | |
compiler: gcc | |
version: "12" | |
makeReleaseBuild: false | |
lint: false | |
runCsTests: false | |
runTsTests: false | |
- name: macOS-13-xcode-14.2 | |
os: macOS-13 | |
processor: x64 | |
compiler: xcode | |
version: "14.2" | |
makeReleaseBuild: false | |
lint: false | |
runCsTests: true | |
runTsTests: false | |
- name: macOS-13-xcode-14.2-arm64 | |
os: macOS-13 | |
processor: arm64 | |
compiler: xcode | |
version: "14.2" | |
makeReleaseBuild: false | |
lint: false | |
runCsTests: false | |
runTsTests: false | |
- name: windows-2022-gcc-11 | |
os: windows-2022 | |
processor: x64 | |
compiler: gcc | |
version: "11" | |
makeReleaseBuild: false | |
lint: false | |
runCsTests: false | |
runTsTests: false | |
- name: windows-2022-msvc-latest-x86 | |
os: windows-2022 | |
processor: x86 | |
compiler: msvc | |
version: "latest" | |
makeReleaseBuild: false | |
lint: false | |
runCsTests: false | |
runTsTests: false | |
- name: windows-2022-msvc-latest-x64 | |
os: windows-2022 | |
processor: x64 | |
compiler: msvc | |
version: "latest" | |
makeReleaseBuild: false | |
lint: false | |
runCsTests: true | |
runTsTests: false | |
- name: ubuntu-22.04-linter | |
os: ubuntu-22.04 | |
processor: x64 | |
compiler: clang | |
version: "14" | |
makeReleaseBuild: false | |
lint: true | |
runCsTests: true | |
runTsTests: false | |
steps: | |
- name: Configure Change Filter | |
id: filter | |
shell: bash | |
run: | | |
FILTER_ANY_CHANGE="false" # default value | |
if [[ "${{ needs.changes.outputs.github }}" == "true" || "${{ needs.changes.outputs.apps }}" == "true" || "${{ needs.changes.outputs.bindings }}" == "true" || "${{ needs.changes.outputs.cmake }}" == "true" || "${{ needs.changes.outputs.include }}" == "true" || "${{ needs.changes.outputs.libs }}" == "true" || "${{ needs.changes.outputs.root }}" == "true" || "${{ needs.changes.outputs.scripts }}" == "true" || "${{ needs.changes.outputs.source }}" == "true" || "${{ needs.changes.outputs.typescript }}" == "true" ]]; then | |
FILTER_ANY_CHANGE="true" | |
fi | |
FILTER_CPP_CHANGE="false" # default value | |
if [[ "${{ needs.changes.outputs.cmake }}" == "true" || "${{ needs.changes.outputs.include }}" == "true" || "${{ needs.changes.outputs.libs }}" == "true" || "${{ needs.changes.outputs.source }}" == "true" ]]; then | |
FILTER_CPP_CHANGE="true" | |
fi | |
echo "any=$FILTER_ANY_CHANGE" >> $GITHUB_OUTPUT | |
echo "cpp=$FILTER_CPP_CHANGE" >> $GITHUB_OUTPUT | |
echo "github=${{ needs.changes.outputs.github }}" >> $GITHUB_OUTPUT | |
echo "apps=${{ needs.changes.outputs.apps }}" >> $GITHUB_OUTPUT | |
echo "bindings=${{ needs.changes.outputs.bindings }}" >> $GITHUB_OUTPUT | |
echo "cmake=${{ needs.changes.outputs.cmake }}" >> $GITHUB_OUTPUT | |
echo "include=${{ needs.changes.outputs.include }}" >> $GITHUB_OUTPUT | |
echo "libs=${{ needs.changes.outputs.libs }}" >> $GITHUB_OUTPUT | |
echo "root=${{ needs.changes.outputs.root }}" >> $GITHUB_OUTPUT | |
echo "scripts=${{ needs.changes.outputs.scripts }}" >> $GITHUB_OUTPUT | |
echo "source=${{ needs.changes.outputs.source }}" >> $GITHUB_OUTPUT | |
echo "typescript=${{ needs.changes.outputs.typescript }}" >> $GITHUB_OUTPUT | |
# Checkout | |
- name: Checkout Code | |
if: (steps.filter.outputs.any == 'true') | |
uses: actions/checkout@v4 | |
- name: Change Directory | |
if: (steps.filter.outputs.any == 'true') | |
run: cd ${{ github.workspace }} | |
# Cache | |
- name: Setup Dependency Cache | |
id: dependency-cache | |
if: (steps.filter.outputs.any == 'true') | |
uses: actions/cache@v4 | |
with: | |
path: | | |
.cache/ | |
key: ${{ matrix.name }}-dependencies-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }} | |
- name: Setup C++ Build Cache | |
id: build-cache | |
if: (steps.filter.outputs.any == 'true') | |
uses: actions/cache@v4 | |
with: | |
path: | | |
build/ | |
key: ${{ matrix.name }}-build-${{ hashFiles('**/*.h', '**/*.hpp', '**/*.cpp') }} | |
- name: Setup Node Cache | |
id: node-cache | |
if: (matrix.compiler == 'emscripten' && steps.filter.outputs.typescript == 'true') | |
uses: actions/cache@v4 | |
with: | |
path: | | |
bindings/typescript/node_modules/ | |
key: ${{ matrix.name }}-node-${{ hashFiles('**/package-lock.json') }} | |
# Runner Configuration | |
- name: Update Environment (Linux) | |
if: (runner.os == 'Linux' && steps.filter.outputs.any == 'true') | |
run: | | |
sudo apt-get update | |
if [ "${{ matrix.compiler }}" = "gcc" ]; then | |
echo "CC=gcc-${{ matrix.version }}" >> $GITHUB_ENV | |
echo "CXX=g++-${{ matrix.version }}" >> $GITHUB_ENV | |
elif [ "${{ matrix.compiler }}" = "emscripten" ]; then | |
make environment-wasm | |
source ./.cache/emscripten/emsdk_env.sh | |
# echo "CC=emcc" >> $GITHUB_ENV | |
# echo "CXX=em++" >> $GITHUB_ENV | |
else | |
sudo apt-get install -y clang-${{ matrix.version }} g++-multilib | |
echo "CC=clang-${{ matrix.version }}" >> $GITHUB_ENV | |
echo "CXX=clang++-${{ matrix.version }}" >> $GITHUB_ENV | |
fi | |
- name: Update Environment (Mac) | |
if: (runner.os == 'macOS' && steps.filter.outputs.any == 'true') | |
run: | | |
ls -ls /Applications/ | |
ls -ls $ANDROID_SDK_ROOT/ndk | |
sudo xcode-select -switch /Applications/Xcode_${{ matrix.version }}.app | |
- name: Update Environment (Windows MSYS2) | |
if: (runner.os == 'Windows' && matrix.compiler == 'clang' && steps.filter.outputs.any == 'true') | |
uses: msys2/setup-msys2@v2 | |
with: | |
update: true | |
msystem: clang64 | |
install: >- | |
base-devel | |
mingw-w64-clang-x86_64-gcc | |
mingw-w64-clang-x86_64-toolchain | |
mingw-w64-clang-x86_64-clang-14 | |
mingw-w64-clang-x86_64-cmake | |
mingw-w64-clang-x86_64-llvm-14 | |
make | |
git | |
- name: Update Environment (Windows MSVC x64) | |
if: (runner.os == 'Windows' && matrix.compiler == 'msvc' && matrix.processor == 'x64' && steps.filter.outputs.any == 'true') | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: ${{ matrix.processor }} | |
- name: Update Environment (Windows MSVC x86) | |
if: (runner.os == 'Windows' && matrix.compiler == 'msvc' && matrix.processor == 'x86' && steps.filter.outputs.any == 'true') | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: ${{ matrix.processor }} | |
# Tools | |
- name: Install .NET | |
uses: actions/setup-dotnet@v4 | |
if: (steps.filter.outputs.any == 'true') | |
with: | |
dotnet-version: 7.0.x | |
# Environment | |
- name: Configure Environment | |
if: (steps.filter.outputs.any == 'true') | |
run: make environment | |
# Lint | |
- name: Lint | |
if: (matrix.lint && steps.filter.outputs.any == 'true') | |
run: make lint | |
# Build | |
- name: Build CLI (Windows) | |
env: | |
PROCESSOR: ${{ matrix.processor }} | |
if: (runner.os == 'Windows' && matrix.compiler == 'msvc' && steps.filter.outputs.apps == 'true') | |
run: make build-cli | |
# Tests | |
- name: Run Tests (Linux) | |
env: | |
PROCESSOR: ${{ matrix.processor }} | |
if: (runner.os == 'Linux' && steps.filter.outputs.cpp == 'true') | |
run: make test | |
- name: Run Tests (MacOS) | |
env: | |
PROCESSOR: ${{ matrix.processor }} | |
if: (runner.os == 'macOS' && steps.filter.outputs.cpp == 'true') | |
run: make test | |
- name: Run Tests (Windows) | |
env: | |
PROCESSOR: ${{ matrix.processor }} | |
if: (runner.os == 'Windows' && matrix.compiler == 'msvc' && steps.filter.outputs.cpp == 'true') | |
run: make test | |
- name: Run Tests (Windows-x86) | |
env: | |
PROCESSOR: ${{ matrix.processor }} | |
if: (runner.os == 'Windows' && matrix.compiler == 'msvc' && matrix.processor == 'x86' && steps.filter.outputs.cpp == 'true') | |
run: make test-x86 | |
- name: Run .Net Tests | |
env: | |
PROCESSOR: ${{ matrix.processor }} | |
if: (matrix.runCsTests && (steps.filter.outputs.bindings == 'true' || steps.filter.outputs.cpp == 'true')) | |
run: make test-netstandard | |
- name: Run Typescript Tests (Linux) | |
env: | |
PROCESSOR: ${{ matrix.processor }} | |
if: (matrix.runTsTests && (steps.filter.outputs.cpp == 'true' || steps.filter.outputs.typescript == 'true')) | |
run: make build-npm && make test-wasm |