mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
98 lines
2.6 KiB
YAML
98 lines
2.6 KiB
YAML
name: Build packages
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
release:
|
|
types: [released, prereleased]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
binary:
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- {pkg: "deb", os: "ubuntu-18.04", asset: "dvc_${{ github.event.release.tag_name }}_amd64.deb"}
|
|
- {pkg: "rpm", os: "ubuntu-18.04", asset: "dvc-${{ github.event.release.tag_name }}-1.x86_64.rpm"}
|
|
- {pkg: "osxpkg", os: "macos-10.15", asset: "dvc-${{ github.event.release.tag_name }}.pkg"}
|
|
- {pkg: "exe", os: "windows-2019", asset: "dvc-${{ github.event.release.tag_name }}.exe"}
|
|
|
|
name: ${{ matrix.pkg }}
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set up Python 3.9
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.9
|
|
cache: pip
|
|
cache-dependency-path: |
|
|
setup.cfg
|
|
scripts/build-requirements.txt
|
|
|
|
- name: Set up Ruby 2.6
|
|
uses: ruby/setup-ruby@v1
|
|
if: matrix.pkg != 'exe'
|
|
with:
|
|
ruby-version: '2.6'
|
|
|
|
- name: Install fpm
|
|
if: matrix.pkg != 'exe'
|
|
run: gem install --no-document fpm
|
|
|
|
- name: Install deps
|
|
run: |
|
|
pip install -U wheel pip setuptools
|
|
pip install .[all]
|
|
pip install -r scripts/build-requirements.txt
|
|
|
|
- name: Pull images
|
|
run: dvc pull
|
|
|
|
- name: Build ${{ matrix.pkg }}
|
|
run: python scripts/build.py ${{ matrix.pkg }}
|
|
|
|
- name: Publish ${{ matrix.pkg }}
|
|
if: github.event_name == 'release'
|
|
uses: actions/[email protected]
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ github.event.release.upload_url }}
|
|
asset_path: scripts/${{ matrix.pkg == 'exe' && 'innosetup' || 'fpm' }}/${{ matrix.asset }}
|
|
asset_name: ${{ matrix.asset }}
|
|
asset_content_type: binary/octet-stream
|
|
|
|
pip:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set up Python 3.8
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.8
|
|
cache: pip
|
|
cache-dependency-path: setup.cfg
|
|
|
|
- name: Install
|
|
run: |
|
|
pip install -U wheel pip build setuptools
|
|
pip install ".[all,tests]"
|
|
|
|
- name: Build packages
|
|
run: |
|
|
pip install -U pip
|
|
./scripts/build_package.sh
|
|
|
|
- name: Publish packages to PyPI
|
|
if: github.event_name == 'release'
|
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
with:
|
|
password: ${{ secrets.PYPI_TOKEN }}
|