Skip to content

🧹 use matrix for provider build #23

🧹 use matrix for provider build

🧹 use matrix for provider build #23

Workflow file for this run

name: 'Build & Release Providers'
on:
pull_request:
types: [opened, reopened, synchronize]
#on:
# workflow_dispatch:
env:
BUCKET: releases-us.mondoo.io
jobs:
provider-build:
runs-on: self-hosted
timeout-minutes: 120
strategy:
max-parallel: 2
matrix:
provider: [arista, aws, azure, equinix, gcp, github, gitlab, google-workspace, ipmi, k8s, ms365, network, oci, okta, opcua, os, slack, terraform, vcd, vsphere ]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ">=1.21.0"
cache: false
- name: 'Authenticate to Google Cloud'
uses: 'google-github-actions/auth@v1'
with:
credentials_json: ${{ secrets.GCP_RELEASE_SERVICE_ACCOUNT}}
- name: 'Set up gcloud CLI'
uses: 'google-github-actions/setup-gcloud@v1'
- name: 'Build dependencies'
run: |
make providers/proto
go build -o lr ./providers-sdk/v1/lr/cli/main.go
- name: 'Build Provider'
run: |
rm -rf ./dist
scripts/provider_bundler.sh ${{ matrix.provider }}
- name: 'Publish Provider'
run: |
for pkg in $(ls dist | cut -f1,2 -d_ | uniq); do
echo "Publishing $pkg"
PROVIDER=$(echo $pkg | cut -f1 -d_)
VERSION=$(echo $pkg | cut -f2 -d_)
echo "Publishing $pkg to gs://${BUCKET}/providers/${PROVIDER}/${VERSION}/"
gsutil -m cp -c dist/${pkg}*.xz gs://${BUCKET}/providers/${PROVIDER}/${VERSION}/
gsutil -m cp -c dist/${pkg}_SHA256SUMS gs://${BUCKET}/providers/${PROVIDER}/${VERSION}/
done
provider-index:
needs: provider-build
runs-on: self-hosted
steps:
- name: Trigger Reindex of releases.mondoo.com
uses: peter-evans/repository-dispatch@v2
with:
token: ${{ secrets.RELEASR_ACTION_TOKEN }}
repository: "mondoohq/releasr"
event-type: reindex
client-payload: '{ }'