mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
171 lines
5.3 KiB
YAML
171 lines
5.3 KiB
YAML
name: Build packages
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
release:
|
|
types: [released, prereleased]
|
|
jobs:
|
|
deb:
|
|
runs-on: ubuntu-16.04
|
|
steps:
|
|
- uses: actions/[email protected]
|
|
- name: Set up Python 3.8
|
|
uses: actions/[email protected]
|
|
with:
|
|
python-version: 3.8
|
|
- name: Set up Ruby 2.4
|
|
uses: actions/setup-ruby@v1
|
|
with:
|
|
ruby-version: 2.4
|
|
- name: Install deps
|
|
run: |
|
|
pip install .[all]
|
|
pip install -r scripts/build-requirements.txt
|
|
gem install --no-document fpm
|
|
- name: Build deb
|
|
run: python scripts/build.py deb
|
|
- name: Publish deb
|
|
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/fpm/dvc_${{ github.event.release.tag_name }}_amd64.deb
|
|
asset_name: dvc_${{ github.event.release.tag_name }}_amd64.deb
|
|
asset_content_type: binary/octet-stream
|
|
rpm:
|
|
runs-on: ubuntu-16.04
|
|
steps:
|
|
- uses: actions/[email protected]
|
|
- name: Set up Python 3.8
|
|
uses: actions/[email protected]
|
|
with:
|
|
python-version: 3.8
|
|
- name: Set up Ruby 2.4
|
|
uses: actions/setup-ruby@v1
|
|
with:
|
|
ruby-version: 2.4
|
|
- name: Install deps
|
|
run: |
|
|
pip install .[all]
|
|
pip install -r scripts/build-requirements.txt
|
|
gem install --no-document fpm
|
|
- name: Build rpm
|
|
run: python scripts/build.py rpm
|
|
- name: Publish rpm
|
|
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/fpm/dvc-${{ github.event.release.tag_name }}-1.x86_64.rpm
|
|
asset_name: dvc-${{ github.event.release.tag_name }}-1.x86_64.rpm
|
|
asset_content_type: binary/octet-stream
|
|
osxpkg:
|
|
runs-on: macos-10.15
|
|
steps:
|
|
- uses: actions/[email protected]
|
|
- name: Set up Python 3.8
|
|
uses: actions/[email protected]
|
|
with:
|
|
python-version: 3.8
|
|
- name: Set up Ruby 2.4
|
|
uses: actions/setup-ruby@v1
|
|
with:
|
|
ruby-version: 2.4
|
|
- name: Install deps
|
|
run: |
|
|
# available lxml (webdav dependency) wheels are built with an old
|
|
# SDK, which breaks osxpkg notarization. Building from scratch
|
|
# instead.
|
|
pip install .[all] --no-binary lxml
|
|
pip install -r scripts/build-requirements.txt
|
|
gem install --no-document fpm
|
|
- name: Build
|
|
run: python scripts/build.py osxpkg
|
|
- name: Publish
|
|
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/fpm/dvc-${{ github.event.release.tag_name }}.pkg
|
|
asset_name: dvc-${{ github.event.release.tag_name }}.pkg
|
|
asset_content_type: binary/octet-stream
|
|
exe:
|
|
runs-on: windows-2019
|
|
steps:
|
|
- uses: actions/[email protected]
|
|
- name: Set up Python 3.8
|
|
uses: actions/[email protected]
|
|
with:
|
|
python-version: 3.8
|
|
- name: Install deps
|
|
run: |
|
|
pip install .[all]
|
|
pip install -r scripts/build-requirements.txt
|
|
- name: Pull images
|
|
run: |
|
|
dvc pull
|
|
- name: Build
|
|
run: python scripts\build.py exe
|
|
shell: cmd
|
|
- name: Publish
|
|
if: github.event_name == 'release'
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
uses: actions/[email protected]
|
|
with:
|
|
upload_url: ${{ github.event.release.upload_url }}
|
|
asset_path: scripts/innosetup/dvc-${{ github.event.release.tag_name }}.exe
|
|
asset_name: dvc-${{ github.event.release.tag_name }}.exe
|
|
asset_content_type: binary/octet-stream
|
|
pip:
|
|
runs-on: ubuntu-16.04
|
|
steps:
|
|
- uses: actions/[email protected]
|
|
- name: Set up Python 3.7
|
|
uses: actions/[email protected]
|
|
with:
|
|
python-version: 3.7
|
|
- name: Install
|
|
run: pip install ".[all,tests]"
|
|
- name: Build packages
|
|
run: ./scripts/build_package.sh
|
|
- name: Publish packages to PyPI
|
|
if: github.event_name == 'release'
|
|
uses: pypa/gh-action-pypi-publish@master
|
|
with:
|
|
user: __token__
|
|
password: ${{ secrets.PYPI_TOKEN }}
|
|
snap:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/[email protected]
|
|
- name: Build the package
|
|
uses: snapcore/action-build@v1
|
|
id: snapcraft
|
|
# - name: Test the package
|
|
# run: |
|
|
# sudo snap install --dangerous --classic ${{ steps.snapcraft.outputs.snap }}
|
|
# dvc version
|
|
# sudo snap remove dvc
|
|
- name: Publish to the edge channel
|
|
uses: snapcore/action-publish@v1
|
|
if: github.event_name == 'push'
|
|
with:
|
|
store_login: ${{ secrets.STORE_LOGIN }}
|
|
snap: ${{ steps.snapcraft.outputs.snap }}
|
|
release: edge,v2/edge
|
|
- name: Publish to the stable channel
|
|
uses: snapcore/action-publish@v1
|
|
if: ${{ github.event_name == 'release' && github.event.release.released }}
|
|
with:
|
|
store_login: ${{ secrets.STORE_LOGIN }}
|
|
snap: ${{ steps.snapcraft.outputs.snap }}
|
|
release: stable,v2/stable
|