Skip to content

Lint and test service before pushing to main #196

Lint and test service before pushing to main

Lint and test service before pushing to main #196

Workflow file for this run

name: CI Workflow
on: [pull_request, workflow_dispatch]
env:
GO_VERSION_BUILD: "1.22"
JAVA_VERSION: "11"
jobs:
main-go:
name: CI [Go]
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
go-version: ["1.18", "1.19", "1.20", "1.21", "1.22"]
runs-on: ${{ matrix.os }}
steps:
- name: Install SSH Key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_PRIVATE_KEY }}
known_hosts: ${{ vars.SSH_KNOWN_HOSTS }}
- name: Install Java
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: ${{ env.JAVA_VERSION }}
- name: Checkout
uses: actions/checkout@v4
- name: Build
uses: ./.github/actions/build
with:
go-version: ${{ env.GO_VERSION_BUILD }}
- name: Generate SDK
uses: ./.github/actions/generate-sdk/go
- name: Install Go ${{ matrix.go-version }}
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
- name: Lint
if: ${{ matrix.go-version == '1.19' || matrix.go-version == '1.20' || matrix.go-version == '1.21' || matrix.go-version == '1.22'}}
working-directory: ./sdk-repo-updated
run: make lint skip-non-generated-files=true
- name: Test
working-directory: ./sdk-repo-updated
run: make test skip-non-generated-files=true
main-python:
name: CI [Python]
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
runs-on: ${{ matrix.os }}
steps:
- name: Install SSH Key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_PRIVATE_KEY }}
known_hosts: ${{ vars.SSH_KNOWN_HOSTS }}
- name: Install Java
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: ${{ env.JAVA_VERSION }}
- name: Checkout
uses: actions/checkout@v4
- name: Build
uses: ./.github/actions/build
with:
go-version: ${{ env.GO_VERSION_BUILD }}
- name: Generate SDK
uses: ./.github/actions/generate-sdk/python
- name: Install Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install core
run: |
pip install poetry
poetry config virtualenvs.create false
git clone https://github.com/stackitcloud/stackit-sdk-python-core.git core
cd core;make install;
- name: Install sdk
working-directory: ./sdk-repo-updated
run: make install-dev
- name: Lint
working-directory: ./sdk-repo-updated
run: make lint
- name: Test
working-directory: ./sdk-repo-updated
run: make test