Skip to content

v1.8.14

v1.8.14 #8

Workflow file for this run

name: Build
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
- "v[0-9]+.[0-9]+.[0-9]+-rc"
branches:
- "master"
env:
PYTHON_VERSION: "3.10.12"
PACKAGE: "ecoscope"
jobs:
build:
name: Build package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install pypa/build
run: >-
python3 -m
pip install
build
--user
- name: Build a binary wheel and a source tarball
run: python3 -m build
- name: Store the distribution packages
uses: actions/upload-artifact@v4
with:
name: pip-dist
path: dist/
install:
name: Install package
runs-on: "ubuntu-latest"
needs:
- build
steps:
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- uses: actions/download-artifact@v4
with:
name: pip-dist
path: dist/
- name: Install package
run: python -m pip install dist/*.whl
- name: Test package
run: python -c "import $PACKAGE"
github-release:
name: Create release on GH
needs:
- build
- install
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
permissions:
contents: write
id-token: write
steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: pip-dist
path: dist/
- name: Sign the dists with Sigstore
uses: sigstore/[email protected]
with:
inputs: >-
./dist/*.tar.gz
./dist/*.whl
- name: Create GitHub Release
env:
GITHUB_TOKEN: ${{ github.token }}
run: >-
gh release create
'${{ github.ref_name }}'
--repo '${{ github.repository }}'
--generate-notes
- name: Upload artifact signatures to GitHub Release
env:
GITHUB_TOKEN: ${{ github.token }}
run: >-
gh release upload
'${{ github.ref_name }}' dist/**
--repo '${{ github.repository }}'
build-for-prefix:
name: Build prefix package
needs:
- build
- install
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
steps:
- uses: actions/checkout@v4
- name: Download the built dist
uses: actions/download-artifact@v4
with:
name: pip-dist
path: dist/
- name: Add tag to recipe
run: sed -i "s/TAG_VERSION/${{ github.ref_name }}/g" publish/recipes/release/ecoscope.yaml
- name: Add dist to recipe
run: sed -i "s/DIST_NAME/$(find ./dist/*.tar.gz -printf "%f\n")/g" publish/recipes/release/ecoscope.yaml
- name: Log the generated recipe
run: cat publish/recipes/release/ecoscope.yaml
- name: Create channel
run: mkdir -p /tmp/ecoscope/release/artifacts
- name: Build prefix release
uses: prefix-dev/[email protected]
with:
recipe-path: publish/recipes/release/ecoscope.yaml
build-args: --output-dir /tmp/ecoscope/release/artifacts --channel https://prefix.dev/ecoscope-workflows --channel conda-forge
- run: |
for file in /tmp/ecoscope/release/artifacts/**/*.conda; do
rattler-build upload prefix -c ecoscope-workflows "$file"
done
env:
PREFIX_API_KEY: ${{ secrets.PREFIX_API_KEY }}
publish-to-pypi:
name: Publish to PyPI
needs:
- build
- install
runs-on: ubuntu-latest
environment:
name: release
if: false
permissions:
id-token: write
steps:
- name: Grab the previously stored build
uses: actions/download-artifact@v4
with:
name: pip-dist
path: dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1