Add UWP builds to github actions.

This commit is contained in:
Josh Matthews 2021-05-29 14:41:13 -04:00
parent 88843b289d
commit 172274d484
5 changed files with 137 additions and 0 deletions

View file

@ -37,6 +37,54 @@ jobs:
working-directory: "C:\\a\\${{ github.event.repository.name }}\\${{ github.event.repository.name }}"
run: python mach smoketest --angle
build-uwp-x64:
name: Build (Windows UWP x64)
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 2
- name: Copy to C drive
run: cp D:\a C:\ -Recurse
- name: Bootstrap
working-directory: "C:\\a\\${{ github.event.repository.name }}\\${{ github.event.repository.name }}"
run: |
python -m pip install --upgrade pip virtualenv
python mach fetch
- name: Release build
working-directory: "C:\\a\\${{ github.event.repository.name }}\\${{ github.event.repository.name }}"
run: python mach build --release --target=x86_64-uwp-windows-msvc
- name: Package
working-directory: "C:\\a\\${{ github.event.repository.name }}\\${{ github.event.repository.name }}"
run: python mach package --release --target=x86_64-uwp-windows-msvc --uwp=x64
#env:
# CODESIGN_CERT: {'${{ secrets.WINDOWS_CODESIGN_CERT }}'}
- name: Tidy
run: python mach test-tidy --force-cpp --no-wpt
build-uwp-arm64:
name: Build (Windows UWP arm64)
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 2
- name: Copy to C drive
run: cp D:\a C:\ -Recurse
- name: Bootstrap
working-directory: "C:\\a\\servo\\servo"
run: |
python -m pip install --upgrade pip virtualenv
python mach fetch
- name: Release build
working-directory: "C:\\a\\servo\\servo"
run: python mach build --release --target=aarch64-uwp-windows-msvc
- name: Package
working-directory: "C:\\a\\servo\\servo"
run: python mach package --release --target=aarch64-uwp-windows-msvc --uwp=arm64
#env:
# CODESIGN_CERT: {'${{ secrets.WINDOWS_CODESIGN_CERT }}'}
build-mac:
name: Build (macOS)
runs-on: macos-10.15
@ -1604,6 +1652,8 @@ jobs:
runs-on: ubuntu-latest
needs:
- "build-win"
- "build-uwp-x64"
- "build-uwp-arm64"
- "build-linux"
- "build-mac"
- "linux-wpt-1"

View file

@ -102,3 +102,34 @@ jobs:
run: python mach upload-nightly windows-msvc --secret-from-environment
env:
S3_UPLOAD_CREDENTIALS: ${{ secrets.S3_UPLOAD_CREDENTIALS }}
upload-uwp:
name: Upload nightly (UWP)
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 2
- name: Copy to C drive
run: cp D:\a C:\ -Recurse
- name: Bootstrap
working-directory: "C:\\a\\servo\\servo"
run: |
python -m pip install --upgrade pip virtualenv
python mach fetch
- name: Release build (x64)
working-directory: "C:\\a\\servo\\servo"
run: python mach build --release --target=x86_64-uwp-windows-msvc
- name: Release build (arm64)
working-directory: "C:\\a\\servo\\servo"
run: python mach build --release --target=aarch64-uwp-windows-msvc
- name: Package
working-directory: "C:\\a\\servo\\servo"
run: python mach package --release --target=x86_64-uwp-windows-msvc --uwp=x64 --uwp=arm64
#env:
# CODESIGN_CERT: ${{ secrets.WINDOWS_CODESIGN_CERT }}
- name: Upload
working-directory: "C:\\a\\servo\\servo"
run: python mach upload-nightly uwp --secret-from-environment
env:
S3_UPLOAD_CREDENTIALS: ${{ secrets.S3_UPLOAD_CREDENTIALS }}

View file

@ -50,6 +50,7 @@ def main():
'workflow.mako',
total_chunks=20,
REPOSITORY_NAME="${{ github.event.repository.name }}",
CODESIGN_CERT="${{ secrets.WINDOWS_CODESIGN_CERT }}",
))

View file

@ -37,6 +37,54 @@ jobs:
working-directory: "C:\\a\\${ REPOSITORY_NAME }\\${ REPOSITORY_NAME }"
run: python mach smoketest --angle
build-uwp-x64:
name: Build (Windows UWP x64)
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 2
- name: Copy to C drive
run: cp D:\a C:\ -Recurse
- name: Bootstrap
working-directory: "C:\\a\\${ REPOSITORY_NAME }\\${ REPOSITORY_NAME }"
run: |
python -m pip install --upgrade pip virtualenv
python mach fetch
- name: Release build
working-directory: "C:\\a\\${ REPOSITORY_NAME }\\${ REPOSITORY_NAME }"
run: python mach build --release --target=x86_64-uwp-windows-msvc
- name: Package
working-directory: "C:\\a\\${ REPOSITORY_NAME }\\${ REPOSITORY_NAME }"
run: python mach package --release --target=x86_64-uwp-windows-msvc --uwp=x64
#env:
# CODESIGN_CERT: ${{ CODESIGN_CERT }}
- name: Tidy
run: python mach test-tidy --force-cpp --no-wpt
build-uwp-arm64:
name: Build (Windows UWP arm64)
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 2
- name: Copy to C drive
run: cp D:\a C:\ -Recurse
- name: Bootstrap
working-directory: "C:\\a\\servo\\servo"
run: |
python -m pip install --upgrade pip virtualenv
python mach fetch
- name: Release build
working-directory: "C:\\a\\servo\\servo"
run: python mach build --release --target=aarch64-uwp-windows-msvc
- name: Package
working-directory: "C:\\a\\servo\\servo"
run: python mach package --release --target=aarch64-uwp-windows-msvc --uwp=arm64
#env:
# CODESIGN_CERT: ${{ CODESIGN_CERT }}
build-mac:
name: Build (macOS)
runs-on: macos-10.15
@ -183,6 +231,8 @@ jobs:
runs-on: ubuntu-latest
needs:
- "build-win"
- "build-uwp-x64"
- "build-uwp-arm64"
- "build-linux"
- "build-mac"
% for chunk in range(1, total_chunks + 1):

View file

@ -791,9 +791,14 @@ def setup_uwp_signing(ms_app_store, publisher):
print("ERROR: PowerShell command failed: ", cmd)
exit(1)
pfx = None
if is_tc:
print("Packaging on TC. Using secret certificate")
pfx = get_taskcluster_secret("windows-codesign-cert/latest")["pfx"]
elif 'CODESIGN_CERT' in os.environ:
pfx = os.environ['CODESIGN_CERT']
if pfx:
open("servo.pfx", "wb").write(base64.b64decode(pfx["base64"]))
run_powershell_cmd('Import-PfxCertificate -FilePath .\\servo.pfx -CertStoreLocation Cert:\\CurrentUser\\My')
os.remove("servo.pfx")