Dataset APIs - data ingestion (#201) #52
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
tags: | |
- "*" | |
jobs: | |
release: | |
name: Build and publish release of kolena Python package and documentation | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out the repo | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.9 | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v2 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: us-west-2 | |
- name: Configure SSH key for docs insiders setup | |
uses: webfactory/ssh-agent@v0.8.0 | |
with: | |
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
- name: Install Poetry | |
run: pip install poetry==1.5.1 | |
- name: Fetch tags to enable autoversioning | |
run: git fetch --prune --unshallow --tags | |
- name: Update package version to PEP 440-compliant production release tag | |
run: poetry version $(git describe --tags --abbrev=0) | |
- name: Install dependencies | |
run: poetry install | |
- name: Run pre-commit checks | |
run: poetry run pre-commit run -a | |
- name: Build 'kolena' Python package | |
run: poetry build --format=sdist | |
- name: Build 'kolena' documentation and push to GitHub Pages | |
run: | | |
git config user.name 'kolenabot' | |
git config user.email 'bot@kolena.io' | |
./docs/setup_insiders.sh | |
poetry run mkdocs gh-deploy --verbose --strict --remote-branch release/docs --config-file mkdocs.insiders.yml | |
env: | |
DD_RUM_CLIENT_TOKEN: ${{ vars.DD_RUM_CLIENT_TOKEN }} | |
DD_RUM_APPLICATION_ID: ${{ vars.DD_RUM_APPLICATION_ID }} | |
- name: Push 'kolena' dist to Test PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.TEST_PYPI_API_TOKEN }} | |
repository-url: https://test.pypi.org/legacy/ | |
skip-existing: true | |
- name: Push 'kolena' dist to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
skip-existing: true | |
- name: Create GitHub release | |
uses: marvinpinto/action-automatic-releases@v1.2.1 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
prerelease: false | |
# | |
# backcompat: build and publish 'kolena-client' package | |
# | |
- name: "[backcompat] Build 'kolena-client' package" | |
run: | | |
rm -rf ./dist | |
# update first instance of 'kolena' to 'kolena-client' in pyproject.toml, kolena/__init__.py (package name) | |
sed -i '0,/kolena/{s/kolena/kolena-client/}' pyproject.toml kolena/__init__.py | |
poetry install | |
poetry build --format=sdist | |
- name: "[backcompat] Install twine for package distribution on CodeArtifact" | |
run: pip install twine | |
- name: "[backcompat] Push 'kolena-client' dist to trunk CodeArtifact" | |
run: | | |
aws codeartifact login --tool twine --domain trunk --domain-owner 328803196297 --repository kolena-client | |
twine upload --skip-existing --repository codeartifact ./dist/kolena_client* | |
- name: "[backcompat] Push 'kolena-client' dist to Test PyPI" | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.TEST_PYPI_API_TOKEN }} | |
repository-url: https://test.pypi.org/legacy/ | |
skip-existing: true | |
- name: "[backcompat] Push 'kolena-client' dist to production CodeArtifact" | |
run: | | |
aws codeartifact login --tool twine --domain production --domain-owner 328803196297 --repository kolena-client | |
twine upload --skip-existing --repository codeartifact ./dist/kolena_client* | |
- name: "[backcompat] Push 'kolena-client' dist to PyPI" | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
skip-existing: true |