Skip to content

Коммит 'Add unused parameters, change version and ci/cd [ci]' #5

Коммит 'Add unused parameters, change version and ci/cd [ci]'

Коммит 'Add unused parameters, change version and ci/cd [ci]' #5

Workflow file for this run

name: Сборка и публикация приложения
run-name: Коммит '${{ github.event.head_commit.message }}'
env:
GH_TOKEN: ${{ secrets.RELEASE_TOKEN }}
on:
push:
branches:
- main
jobs:
build:
if: "contains(github.event.commits[0].message, '[ci]')"
strategy:
matrix:
include:
- os: linux
runner: ubuntu-latest
file: sd-image-to-params
- os: windows
runner: windows-latest
file: sd-image-to-params.exe
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v4
- name: Кэш зависимостей
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ matrix.runner }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Установка зависимостей (Linux)
if: matrix.os == 'linux'
run: sudo apt install -y build-essential libssl-dev pkg-config cmake libgtk-3-dev libclang-dev
- name: Сборка бинарного файла
run: cargo build --release
- name: Сохранение файла в артифакты
uses: actions/upload-artifact@v4
with:
name: sd-image-to-params_${{ matrix.os }}
path: target/release/${{ matrix.file }}
publish:
if: "contains(github.event.commits[0].message, '[cd]')"
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v4
- name: Загрузка бинарного файла linux из артефактов
uses: actions/download-artifact@v4
with:
name: sd-image-to-params_linux
path: artifacts
- name: Загрузка бинарного файла windows из артефактов
uses: actions/download-artifact@v4
with:
name: sd-image-to-params_windows
path: artifacts
- name: Получение версии приложения из Cargo.toml
id: app_version
uses: dante-signal31/rust-app-version@v1.2.0
with:
cargo_toml_folder: ./
- name: Публикация файлов
run: |
gh release create "v${{ steps.app_version.outputs.app_version }}" \
'artifacts/sd-image-to-params#sd-image-to-params_v${{ steps.app_version.outputs.app_version }}_linux_x64' \
'artifacts/sd-image-to-params.exe#sd-image-to-params_v${{ steps.app_version.outputs.app_version }}_windows_x64'