Skip to content
on:
release:
types: [published]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.11"]
os: ['windows-latest']
steps:
- uses: actions/checkout@v4
with:
submodules: true
token: ${{ secrets.OXOTITAN_GITHUB_KEY }}
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '18.0.0'
- name: Install Node dependencies
run: npm install
working-directory: src/oxotitan
- name: Generate Nuxt
run: npm run generate
working-directory: src/oxotitan
- name: Create ostorlab ui static folder
run: mkdir -p ostorlab/ui/static
working-directory: src
- name: Copy Nuxt output
run: cp -r src/oxotitan/.output/public/* src/ostorlab/ui/static
- name: Delete titan files
run: rm -rf src/oxotitan/*
shell: bash
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies.
run: |
python -m pip install --upgrade pip
pip install .
pip install .[scanner]
pip install .[agent]
pip install .[serve]
pip install pyinstaller
- run: |
pyinstaller --name oxo_${{ matrix.os }} --onefile --add-data="./*:." --collect-all pyaxmlparser --hidden-import alembic --hidden-import docker --hidden-import click src/ostorlab/main.py
- name: Release
uses: softprops/action-gh-release@v2
with:
files: dist/oxo_${{ matrix.os }}.exe