Skip to content

Build

Build #68

Workflow file for this run

name: Build
on:
workflow_dispatch:
jobs:
create_release:
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
date: ${{ steps.date.outputs.date }}
steps:
- name: Get the date
id: date
run: echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')"
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.TAS }}
with:
tag_name: TAS_${{ steps.date.outputs.date }}
release_name: TAS_${{ steps.date.outputs.date }}
draft: true
build_full:
needs: create_release
strategy:
matrix:
os: [windows-latest, ubuntu-latest]
include:
- os: windows-latest
python-version: "3.12.4"
build-script: build.py
asset-content-type: application/x-7z-compressed
asset-extension: .7z
asset-suffix: "_Full_Windows"
- os: ubuntu-latest
python-version: "3.12.4"
build-script: build-linux.py
asset-content-type: application/x-7z-compressed
asset-extension: .7z
asset-suffix: "_Full_Linux"
fail-fast: true
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Free Disk Space (Ubuntu)
if: matrix.os == 'ubuntu-latest'
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Install CUDA Toolkit (Ubuntu)
if: matrix.os == 'ubuntu-latest'
uses: Jimver/[email protected]
id: cuda-toolkit
with:
cuda: "12.4.0"
- name: Print working directory and disk space (Ubuntu)
if: matrix.os == 'ubuntu-latest'
run: |
echo "Current working directory:"
pwd
echo "Available disk space:"
df -h
- name: Print working directory and disk space (Windows)
if: matrix.os == 'windows-latest'
run: |
echo "Current working directory:"
pwd
echo "Available disk space on all drives:"
Get-PSDrive -PSProvider FileSystem | Select-Object -Property Name, @{Name="Used(GB)";Expression={[math]::round($_.Used/1GB,2)}}, @{Name="Free(GB)";Expression={[math]::round($_.Free/1GB,2)}}, @{Name="Total(GB)";Expression={[math]::round($_.Used/1GB,2) + [math]::round($_.Free/1GB,2)}}
- name: Run full build script
run: python ${{ matrix.build-script }} --output dist-full
- name: Compress full directory (Windows)
if: matrix.os == 'windows-latest'
run: |
cd ${{ github.workspace }}/dist-full/main/
7z a -t7z -m0=lzma2 -mx=9 -ms=1536m -md=273m ../../TAS_${{ needs.create_release.outputs.date }}${{ matrix.asset-suffix }}${{ matrix.asset-extension }} *
- name: Compress full directory (Ubuntu)
if: matrix.os == 'ubuntu-latest'
run: |
cd ${{ github.workspace }}/dist/main/
7z a -t7z -m0=lzma2 -mx=9 -ms=1536m -md=273m ../../TAS_${{ needs.create_release.outputs.date }}${{ matrix.asset-suffix }}${{ matrix.asset-extension }} *
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.TAS }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: TAS_${{ needs.create_release.outputs.date }}${{ matrix.asset-suffix }}${{ matrix.asset-extension }}
asset_name: TAS_${{ needs.create_release.outputs.date }}${{ matrix.asset-suffix }}${{ matrix.asset-extension }}
asset_content_type: ${{ matrix.asset-content-type }}
build_lite:
needs: create_release
strategy:
matrix:
os: [windows-latest]
include:
- os: windows-latest
python-version: "3.12.4"
build-script: build-lite.py
asset-content-type: application/x-7z-compressed
asset-extension: .7z
asset-suffix: "_Lite_Windows"
fail-fast: true
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Print working directory and disk space (Windows)
run: |
echo "Current working directory:"
pwd
echo "Available disk space on all drives:"
Get-PSDrive -PSProvider FileSystem | Select-Object -Property Name, @{Name="Used(GB)";Expression={[math]::round($_.Used/1GB,2)}}, @{Name="Free(GB)";Expression={[math]::round($_.Free/1GB,2)}}, @{Name="Total(GB)";Expression={[math]::round($_.Used/1GB,2) + [math]::round($_.Free/1GB,2)}}
- name: Run lite build script
run: python ${{ matrix.build-script }} --output dist-lite
- name: Compress lite directory
run: |
cd ${{ github.workspace }}/dist-lite/main/
7z a -t7z -m0=lzma2 -mx=9 -ms=1536m -md=273m ../../TAS_${{ needs.create_release.outputs.date }}${{ matrix.asset-suffix }}${{ matrix.asset-extension }} *
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.TAS }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: TAS_${{ needs.create_release.outputs.date }}${{ matrix.asset-suffix }}${{ matrix.asset-extension }}
asset_name: TAS_${{ needs.create_release.outputs.date }}${{ matrix.asset-suffix }}${{ matrix.asset-extension }}
asset_content_type: ${{ matrix.asset-content-type }}