Canary-ize CI
This commit is contained in:
parent
a1ea59cc55
commit
af4e3908b4
|
@ -3,11 +3,13 @@ version: 1.0.{build}-{branch}
|
|||
branches:
|
||||
except:
|
||||
- gh-pages
|
||||
- master
|
||||
|
||||
skip_tags: true
|
||||
|
||||
skip_commits:
|
||||
files:
|
||||
- .azure-pipelines.yml
|
||||
- .github/**
|
||||
- .travis.yml
|
||||
- docs/**
|
||||
|
@ -25,49 +27,16 @@ pull_requests:
|
|||
|
||||
os: Visual Studio 2019
|
||||
|
||||
init:
|
||||
- git config --global core.autocrlf input
|
||||
|
||||
install:
|
||||
- cmd: xb setup
|
||||
|
||||
platform: Windows
|
||||
|
||||
configuration:
|
||||
- Release
|
||||
- Checked
|
||||
- xb setup
|
||||
|
||||
build_script:
|
||||
- cmd: xb build --config=%CONFIGURATION% --target=src\xenia-app --target=tests\xenia-base-tests --target=tests\xenia-cpu-ppc-tests --target=src\xenia-vfs-dump
|
||||
- xb build --config=Release --target=src\xenia-app --target=src\xenia-vfs-dump
|
||||
|
||||
after_build:
|
||||
- cmd: |
|
||||
IF NOT "%CONFIGURATION%"=="Checked" SET "ARCHIVE_SUFFIX=%APPVEYOR_REPO_BRANCH%"
|
||||
IF NOT "%CONFIGURATION%"=="Checked" SET "ARCHIVE_SWITCHES=--"
|
||||
IF "%CONFIGURATION%"=="Checked" SET "ARCHIVE_SUFFIX=%APPVEYOR_REPO_BRANCH%_FOR-DEVS-ONLY"
|
||||
IF "%CONFIGURATION%"=="Checked" SET "ARCHIVE_SWITCHES="-pI know what I am doing." --"
|
||||
7z a xenia_%ARCHIVE_SUFFIX%.zip %ARCHIVE_SWITCHES% LICENSE "%APPVEYOR_BUILD_FOLDER%\build\bin\%PLATFORM%\%CONFIGURATION%\xenia.exe" "%APPVEYOR_BUILD_FOLDER%\build\bin\%PLATFORM%\%CONFIGURATION%\xenia.pdb"
|
||||
7z a xenia-vfs-dump_%ARCHIVE_SUFFIX%.zip %ARCHIVE_SWITCHES% LICENSE "%APPVEYOR_BUILD_FOLDER%\build\bin\%PLATFORM%\%CONFIGURATION%\xenia-vfs-dump.exe" "%APPVEYOR_BUILD_FOLDER%\build\bin\%PLATFORM%\%CONFIGURATION%\xenia-vfs-dump.pdb"
|
||||
|
||||
before_test:
|
||||
- cmd: xb gentests
|
||||
|
||||
test_script:
|
||||
- cmd: xb test --config=%CONFIGURATION% --no_build
|
||||
- |
|
||||
7z a xenia_canary.zip ".\build\bin\Windows\Release\xenia_canary.exe" ".\build\bin\Windows\Release\xenia_canary.pdb" LICENSE
|
||||
7z a xenia-vfs-dump_canary.zip ".\build\bin\Windows\Release\xenia-vfs-dump.exe" ".\build\bin\Windows\Release\xenia-vfs-dump.pdb" LICENSE
|
||||
|
||||
artifacts:
|
||||
- path: '*.zip'
|
||||
- path: xenia-cpu-ppc-test.log
|
||||
|
||||
deploy:
|
||||
- provider: Environment
|
||||
name: xenia-master
|
||||
release: xenia-$(appveyor_repo_branch)-v$(appveyor_build_version)
|
||||
artifact: '*.zip'
|
||||
draft: false
|
||||
prerelease: true
|
||||
on:
|
||||
branch: master
|
||||
configuration: release
|
||||
appveyor_repo_tag: true
|
||||
is_not_pr: true
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
trigger:
|
||||
branches:
|
||||
include: [ '*' ]
|
||||
exclude: [ gh-pages, master ]
|
||||
paths:
|
||||
exclude:
|
||||
- 'docs/**'
|
||||
- '.github/**'
|
||||
- 'LICENSE'
|
||||
- 'README.md'
|
||||
- '.appveyor.yml'
|
||||
- '.travis.yml'
|
||||
pr:
|
||||
branches:
|
||||
include: [ '*' ]
|
||||
exclude: [ gh-pages, master ]
|
||||
paths:
|
||||
exclude:
|
||||
- 'docs/**'
|
||||
- '.github/**'
|
||||
- 'LICENSE'
|
||||
- 'README.md'
|
||||
- '.appveyor.yml'
|
||||
- '.travis.yml'
|
||||
|
||||
pool:
|
||||
vmImage: windows-latest
|
||||
variables:
|
||||
POWERSHELL_TELEMETRY_OPTOUT: 1
|
||||
strategy:
|
||||
matrix:
|
||||
AVX:
|
||||
cpu_arch: AVX
|
||||
AVX2:
|
||||
cpu_arch: AVX2
|
||||
AVX512:
|
||||
cpu_arch: AVX512
|
||||
steps:
|
||||
- pwsh: .\xb setup
|
||||
displayName: Setup
|
||||
- pwsh: .\xb build --cpu_arch=$(cpu_arch) --target=src\xenia-app --target=src\xenia-vfs-dump
|
||||
displayName: Build
|
||||
- pwsh: |-
|
||||
robocopy . build\bin\Windows\Release LICENSE /r:0 /w:0
|
||||
robocopy build\bin\Windows\Release $(Build.ArtifactStagingDirectory)\xenia_canary xenia_canary.exe xenia_canary.pdb LICENSE /r:0 /w:0
|
||||
robocopy build\bin\Windows\Release $(Build.ArtifactStagingDirectory)\xenia-vfs-dump_canary xenia-vfs-dump.exe xenia-vfs-dump.pdb LICENSE /r:0 /w:0
|
||||
If ($LastExitCode -le 7) { echo "LastExitCode = $LastExitCode";$LastExitCode = 0 }
|
||||
displayName: Prepare artifacts
|
||||
- publish: $(Build.ArtifactStagingDirectory)\xenia_canary
|
||||
artifact: xenia_canary_$(cpu_arch)
|
||||
displayName: Publish xenia_canary artifacts
|
||||
- publish: $(Build.ArtifactStagingDirectory)\xenia-vfs-dump_canary
|
||||
condition: and(succeeded(), eq(variables['Agent.JobName'], 'AVX'))
|
||||
artifact: xenia-vfs-dump_canary
|
||||
displayName: Publish xenia-vfs-dump_canary artifacts
|
|
@ -0,0 +1,75 @@
|
|||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore: [ gh-pages, master ]
|
||||
paths-ignore:
|
||||
- '.github/*'
|
||||
- '.github/ISSUE_TEMPLATE/**'
|
||||
- 'docs/**'
|
||||
- '*.md'
|
||||
- '*.yml'
|
||||
- 'LICENSE'
|
||||
pull_request:
|
||||
branches-ignore: [ gh-pages, master ]
|
||||
paths-ignore:
|
||||
- '.github/*'
|
||||
- '.github/ISSUE_TEMPLATE/**'
|
||||
- 'docs/**'
|
||||
- '*.md'
|
||||
- '*.yml'
|
||||
- 'LICENSE'
|
||||
|
||||
jobs:
|
||||
build-windows:
|
||||
runs-on: windows-latest
|
||||
env:
|
||||
POWERSHELL_TELEMETRY_OPTOUT: 1
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
cpu_arch: [ AVX, AVX2, AVX512 ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup
|
||||
run: .\xb setup
|
||||
- name: Build
|
||||
run: .\xb build --cpu_arch=${{ matrix.cpu_arch }} --config=Release --target=src\xenia-app --target=src\xenia-vfs-dump
|
||||
- name: Prepare artifacts
|
||||
run: |
|
||||
robocopy . build\bin\${{ runner.os }}\Release LICENSE /r:0 /w:0
|
||||
robocopy build\bin\${{ runner.os }}\Release artifacts\xenia_canary xenia_canary.exe xenia_canary.pdb LICENSE /r:0 /w:0
|
||||
robocopy build\bin\${{ runner.os }}\Release artifacts\xenia-vfs-dump xenia-vfs-dump.exe xenia-vfs-dump.pdb LICENSE /r:0 /w:0
|
||||
If ($LastExitCode -le 7) { echo "LastExitCode = $LastExitCode";$LastExitCode = 0 }
|
||||
7z a -mx1 xenia_canary.zip .\artifacts\xenia_canary\*.exe LICENSE
|
||||
echo "::set-env name=short_commit_sha::$(git rev-parse --short HEAD)"
|
||||
- name: Upload xenia-vfs-dump artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
if: matrix.cpu_arch == 'AVX'
|
||||
with:
|
||||
name: xenia-vfs-dump_canary
|
||||
path: artifacts\xenia-vfs-dump
|
||||
- name: Upload xenia artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: xenia_canary_${{ matrix.cpu_arch }}
|
||||
path: artifacts\xenia
|
||||
- uses: actions/create-release@v1
|
||||
if: github.event.action != 'pull_request' && github.ref == 'refs/heads/canary' && matrix.cpu_arch == 'AVX'
|
||||
id: create_release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ env.short_commit_sha }}
|
||||
release_name: xenia_canary_${{ env.short_commit_sha }}
|
||||
- uses: actions/upload-release-asset@v1
|
||||
if: github.event.action != 'pull_request' && github.ref == 'refs/heads/canary' && matrix.cpu_arch == 'AVX'
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: xenia_canary.zip
|
||||
asset_name: xenia_canary.zip
|
||||
asset_content_type: application/zip
|
Loading…
Reference in New Issue