CI #142
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: CI | |
on: | |
workflow_dispatch: | |
push: | |
# Set the push branches | |
branches: | |
- main | |
# Set the push folders | |
paths: | |
- 'main/**' | |
- 'examples/**' | |
jobs: | |
build: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
# Set the project file paths relative to the current repo | |
project-path: | |
- 'main\sse.ppj' | |
- 'examples\sse.ppj' | |
- 'examples\nl_curios\sse.ppj' | |
- 'examples\nl_utilities\sse.ppj' | |
env: | |
# Set these | |
dist-path: dist # Folder containing the output from the project files | |
compiler-repo: MrOctopus/papyrus-compiler # Github repository containing the papyrus compiler | |
compiler-token: ${{ secrets.PRIVATE_TOKEN }} # Just use ${{ github.token }} if the repo is not private | |
pyro-token: ${{ secrets.PRIVATE_TOKEN }} # Just use ${{ github.token }} if the ppj file does not use private imports | |
# Ignore these | |
python-version: 3.x | |
python-arch: x64 | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
path: ./repo | |
- name: Set up Python ${{ env.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ env.python-version }} | |
architecture: ${{ env.python-arch }} | |
- name: Pull papyrus compiler | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ env.compiler-repo }} | |
token: ${{ env.compiler-token }} | |
path: ./compiler | |
- name: Get latest Pyro release | |
id: pyro_asset | |
uses: MrOctopus/download-asset-action@main | |
with: | |
repository: fireundubh/pyro | |
excludes: draft | |
asset: pyro | |
- name: Extract Pyro | |
run: 7z x ${Env:release_name} -opyro | |
env: | |
release_name: ${{ steps.pyro_asset.outputs.name }} | |
- name: Build releases | |
run: | | |
.\pyro\pyro --game-path . --compiler-path ${Env:ppj_c} --flags-path ${Env:ppj_f} --access-token ${Env:pyro-token} .\repo\${Env:ppj_p} | |
env: | |
ppj_c: compiler\PapyrusCompiler.exe | |
ppj_f: compiler\TESV_Papyrus_Flags.flg | |
ppj_p: ${{ matrix.project-path }} | |
- name: Prepare upload | |
if: success() | |
run: | | |
cd repo\${Env:dist-path} | |
7z x *zip -o* | |
echo "build_paths=$($(Get-ChildItem -Filter *.zip | % { join-path $_.DirectoryName $_.BaseName }) -join ",")" >> ${Env:GITHUB_ENV} | |
- name: Upload release | |
if: success() | |
uses: MrOctopus/upload-artifact@main | |
with: | |
individual: true | |
path: ${{ env.build_paths }} |