Skip to content

GHA: Run unit test for WebExtensions #34

GHA: Run unit test for WebExtensions

GHA: Run unit test for WebExtensions #34

Workflow file for this run

on: [push]
name: Build
jobs:
build:
runs-on: [ windows-2019 ]
env:
VSPATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise'
EXTSITE: https://marketplace.visualstudio.com/items?itemName=visualstudioclient.MicrosoftVisualStudio2015InstallerProjects
EXTURL: https://marketplace.visualstudio.com/_apis/public/gallery/publishers/VisualStudioClient/vsextensions/MicrosoftVisualStudio2017InstallerProjects/1.0.0/vspackage
# The following envs are used in BrowserSelectorBHO.vcxproj
# to build a 64-bit DLL in PostBuildEvent.
VSAPPIDDIR: ''
VSAPPIDNAME: 'devenv.exe'
steps:
- uses: actions/checkout@v4
- name: Fetch Visual Studio addons
run: |
Invoke-WebRequest -OutFile Installer.html -UseBasicParsing -SessionVariable session $env:EXTSITE
Invoke-WebRequest -OutFile InstallerProjects.vsix -WebSession $session $env:EXTURL
- name: Build binaries
shell: cmd
run: |
call "%VSPATH%\VC\Auxiliary\Build\vcvars32.bat"
InstallerProjects.vsix /quiet InstallerProjects.vsix
msbuild BrowserSelector.sln /m /p:Configuration=Release /p:Platform=Win32
devenv BrowserSelectorSetup/BrowserSelectorSetup.vdproj /Build "Release|Win32"
- name: Run tests
shell: cmd
run: |
call "%VSPATH%\VC\Auxiliary\Build\vcvars32.bat"
vstest.console Release\UnitTest.dll
- name: Upload Installer
uses: actions/upload-artifact@v4
with:
name: Installer
path: BrowserSelectorSetup\Release\*.msi
webextdev:
runs-on: [ ubuntu-latest ]
steps:
- uses: actions/checkout@v4
- name: Build Testing Extensions
run: |
cp webextensions/edge/manifest.json.dev webextensions/edge/manifest.json
make -C webextensions/edge
cp webextensions/chrome/manifest.json.dev webextensions/chrome/manifest.json
make -C webextensions/chrome
make -C webextensions/firefox
- name: Run tests
run: |
make -C webextensions test
- name: Upload Extensions
uses: actions/upload-artifact@v4
with:
name: WebExtensionDev
path: webextensions/*/*.zip
webext:
runs-on: [ ubuntu-latest ]
steps:
- uses: actions/checkout@v4
- name: Build Web Extensions
run: |
make -C webextensions/edge
make -C webextensions/chrome
make -C webextensions/firefox
- name: Run tests
run: |
make -C webextensions test
- name: Upload Extensions
uses: actions/upload-artifact@v4
with:
name: WebExtension
path: webextensions/*/*.zip