116 lines
4.0 KiB
YAML
116 lines
4.0 KiB
YAML
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
|
|
|
|
name: "Prerequisites"
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
is_pr:
|
|
type: boolean
|
|
required: true
|
|
is_automated:
|
|
type: boolean
|
|
required: true
|
|
default_branch:
|
|
type: string
|
|
required: true
|
|
outputs:
|
|
version:
|
|
description: "Provider version being built"
|
|
value: ${{ jobs.prerequisites.outputs.version }}
|
|
|
|
env:
|
|
PULUMI_API: https://api.pulumi-staging.io
|
|
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
|
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
|
PULUMI_PROVIDER_AUTOMATION_TOKEN: ${{ secrets.PULUMI_PROVIDER_AUTOMATION_TOKEN }}
|
|
PULUMI_PULUMI_ENABLE_JOURNALING: "true"
|
|
TF_APPEND_USER_AGENT: pulumi
|
|
|
|
jobs:
|
|
prerequisites:
|
|
name: prerequisites
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
pull-requests: write
|
|
id-token: write # For ESC secrets.
|
|
outputs:
|
|
version: ${{ steps.provider-version.outputs.version }}
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
|
with:
|
|
persist-credentials: false
|
|
- id: esc-secrets
|
|
name: Map environment to ESC outputs
|
|
uses: ./.github/actions/esc-action
|
|
- uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
|
id: provider-version
|
|
with:
|
|
major-version: 1
|
|
set-env: 'PROVIDER_VERSION'
|
|
- name: Cache examples generation
|
|
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
|
|
with:
|
|
path: |
|
|
.pulumi/examples-cache
|
|
key: ${{ runner.os }}-${{ hashFiles('provider/go.sum') }}
|
|
- name: Setup mise
|
|
uses: jdx/mise-action@146a28175021df8ca24f8ee1828cc2a60f980bd5 # v3
|
|
env:
|
|
MISE_FETCH_REMOTE_VERSIONS_TIMEOUT: 30s
|
|
with:
|
|
version: 2025.11.6
|
|
github_token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
|
# only saving the cache in the prerequisites job
|
|
cache_save: true
|
|
- name: Setup Go Cache
|
|
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6
|
|
with:
|
|
cache-dependency-path: |
|
|
provider/*.sum
|
|
upstream/*.sum
|
|
sdk/go/*.sum
|
|
sdk/*.sum
|
|
*.sum
|
|
- name: Prepare local workspace before restoring previously built files
|
|
run: make prepare_local_workspace
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Generate schema
|
|
run: make schema
|
|
- name: Build provider binary
|
|
run: make provider
|
|
- name: Unit-test provider code
|
|
run: make test_provider
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Upload coverage reports to Codecov
|
|
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
|
|
env:
|
|
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }}
|
|
- if: inputs.is_pr
|
|
name: Check Schema is Valid
|
|
run: |
|
|
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
|
|
{
|
|
echo "SCHEMA_CHANGES<<$EOF";
|
|
schema-tools compare -r github://api.git.kalinow.ski/kiterun -p incus -o "${{ inputs.default_branch }}" -n --local-path=provider/cmd/pulumi-resource-incus/schema.json;
|
|
echo "$EOF";
|
|
} >> "$GITHUB_ENV"
|
|
- if: inputs.is_pr && inputs.is_automated == false && github.actor != 'dependabot[bot]'
|
|
name: Comment on PR with Details of Schema Check
|
|
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
comment-tag: schemaCheck
|
|
message: >+
|
|
${{ env.SCHEMA_CHANGES }}
|
|
|
|
|
|
Maintainer note: consult the [runbook](https://github.com/pulumi/platform-providers-team/blob/main/playbooks/tf-provider-updating.md) for dealing with any breaking changes.
|
|
|
|
- name: Upload artifacts
|
|
uses: ./.github/actions/upload-prerequisites
|