Skip to content

Release Robusta-CLI

Release Robusta-CLI #3

Workflow file for this run

name: Release Robusta-CLI
on:
release:
types: [published]
workflow_dispatch: # This allows manual triggering
env:
PROJECT_ID: ${{ secrets.GKE_PROD_PROJECT }}
RELEASE_VER : 0.0.1 # ${{ github.event.release.tag_name }}
jobs:
setup-build-publish-deploy:
name: Build images
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Get release version
run: echo "$RELEASE_VER"
- uses: google-github-actions/[email protected]
with:
service_account_key: ${{ secrets.GKE_PROD_SA_KEY }}
project_id: ${{ secrets.GKE_PROD_PROJECT }}
export_default_credentials: true
# Configure Docker to use the gcloud command-line tool as a credential helper for authentication
- run: |-
gcloud auth configure-docker us-central1-docker.pkg.dev
- run: |-
gcloud config get-value project
- name: Update package version
run: |
sed -i 's/0.0.0/${{env.RELEASE_VER}}/g' src/robusta_cli/_version.py pyproject.toml
# Set up the buildx to run build for multiple platforms
- name: Set up QEMU
uses: docker/setup-qemu-action@c5ffa2a61740d9877bd1f40899a87c8ec93b0d9f
- name: Docker Setup Buildx
uses: docker/setup-buildx-action@bea6a01aa40b4d58b0382d47e1c4a70137af67b1
with:
config-inline: |
[worker.oci]
enabled = true
platforms = [ "linux/amd64", "linux/arm64" ]
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.12
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install twine # TODO is twine needed?
- name: Prepare pypi dist
run: |
curl -sSL https://install.python-poetry.org | python3 - --version 1.8.2
poetry config virtualenvs.create false
poetry install --no-dev
- name: Release Docker CLI only on formal releases
run: |-
docker buildx build \
--platform linux/arm64,linux/amd64 \
--tag us-central1-docker.pkg.dev/genuine-flight-317411/devel/robusta-cli:dummy-${{env.RELEASE_VER}} \
--push \
--file cli.Dockerfile \
.