Skip to content

Bump follow-redirects from 1.15.4 to 1.15.6 in /apps/angular-demo #873

Bump follow-redirects from 1.15.4 to 1.15.6 in /apps/angular-demo

Bump follow-redirects from 1.15.4 to 1.15.6 in /apps/angular-demo #873

Workflow file for this run

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