mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
This is just the first step to prove the concept. Most of the work done in our workflows can be split into separate jobs to parallelize the workflow. This will also make the checks page more readable. This change alone probably won't speed up CI much.
82 lines
2.5 KiB
YAML
82 lines
2.5 KiB
YAML
name: Release Pipeline
|
|
|
|
on:
|
|
push:
|
|
tags: ["*"]
|
|
|
|
jobs:
|
|
lint:
|
|
uses: ./.github/workflows/lint.yml
|
|
|
|
build:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Set up Python environment
|
|
uses: ./.github/actions/setup-liberation-python
|
|
|
|
- name: Set up JS environment
|
|
uses: ./.github/actions/setup-liberation-js
|
|
|
|
- name: Finalize build
|
|
run: |
|
|
New-Item -ItemType file resources\final
|
|
|
|
- name: Build app
|
|
uses: ./.github/actions/build-app
|
|
with:
|
|
release: true
|
|
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: dcs_liberation
|
|
path: dist/
|
|
|
|
release:
|
|
needs: [build]
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/download-artifact@v2
|
|
with:
|
|
name: dcs_liberation
|
|
|
|
- name: "Get Version"
|
|
id: version
|
|
env:
|
|
TAG_NAME: ${{ github.ref }}
|
|
run: |
|
|
Get-ChildItem -Recurse -Depth 1
|
|
$version = ($env:TAG_NAME -split "/") | Select-Object -Last 1
|
|
$prerelease = ("2.1.1-alpha3" -match '[^\.\d]').ToString().ToLower()
|
|
Write-Host $version
|
|
Write-Host $prerelease
|
|
Write-Output "::set-output name=number::$version"
|
|
Write-Output "::set-output name=prerelease::$prerelease"
|
|
$changelog = Get-Content .\changelog.md
|
|
$last_change = ($changelog | Select-String -Pattern "^#\s" | Select-Object -Skip 1 -First 1).LineNumber - 2
|
|
($changelog | Select-Object -First $last_change) -join "`n" | Out-File .\releasenotes.md
|
|
Compress-Archive -Path .\dcs_liberation -DestinationPath "dcs_liberation.$version.zip" -Compression Optimal
|
|
|
|
- uses: actions/create-release@v1
|
|
id: create_release
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
tag_name: ${{ github.ref }}
|
|
release_name: ${{ github.ref }}
|
|
body_path: releasenotes.md
|
|
draft: false
|
|
prerelease: ${{ steps.version.outputs.prerelease }}
|
|
|
|
- uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
asset_path: ./dcs_liberation.${{ steps.version.outputs.number }}.zip
|
|
asset_name: dcs_liberation.${{ steps.version.outputs.number }}.zip
|
|
asset_content_type: application/zip
|