Skip to content

chore: update formae to 0.77.16-internal #38

chore: update formae to 0.77.16-internal

chore: update formae to 0.77.16-internal #38

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
inputs:
run_conformance:
description: 'Run conformance tests'
required: false
default: 'false'
type: boolean
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: "1.25"
- name: Set up Pkl
uses: pkl-community/setup-pkl@v0
with:
pkl-version: 0.30.0
- name: Build
run: make build
- name: Test
run: make test-unit
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: "1.25"
- name: golangci-lint
uses: golangci/golangci-lint-action@v9.2.0
with:
version: latest
pkl-validate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Pkl
uses: pkl-community/setup-pkl@v0
with:
pkl-version: 0.30.0
- name: Validate Pkl schemas
run: |
pkl eval formae-plugin.pkl --format json > /dev/null
echo "Manifest validated successfully"
# Integration tests run against real infrastructure.
# This job is disabled by default - enable it after configuring credentials.
integration-tests:
needs: [build, lint]
runs-on: ubuntu-latest
# Disabled by default - remove this condition after configuring credentials
if: false
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: "1.25"
- name: Set up Pkl
uses: pkl-community/setup-pkl@v0
with:
pkl-version: 0.30.0
# Configure credentials for your infrastructure here
# Example:
# env:
# MY_API_KEY: ${{ secrets.MY_API_KEY }}
- name: Run integration tests
run: make test-integration
# Conformance tests run against real cloud resources.
# This job is disabled by default - enable it after configuring credentials.
#
# To enable:
# 1. Configure credentials for your cloud provider (see below)
# 2. Implement scripts/ci/setup-credentials.sh for local credential verification
# 3. Implement scripts/ci/clean-environment.sh for test resource cleanup
# 4. Remove 'if: false' condition or set run_conformance to true
conformance-tests:
needs: [build, lint, pkl-validate]
runs-on: ubuntu-latest
# Disabled by default - uncomment 'if' line below after configuring credentials
if: ${{ github.event.inputs.run_conformance == 'true' }}
timeout-minutes: 60
# Uncomment and configure for your cloud provider:
# permissions:
# id-token: write # Required for OIDC
# contents: read
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: "1.25"
- name: Set up Pkl
uses: pkl-community/setup-pkl@v0
with:
pkl-version: 0.30.0
# =================================================================
# CREDENTIAL SETUP - Uncomment and configure for your provider
# =================================================================
# AWS (OIDC - recommended)
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v4
# with:
# aws-region: us-east-1
# role-to-assume: arn:aws:iam::ACCOUNT_ID:role/ROLE_NAME
# role-session-name: ConformanceTests
# Azure (OIDC - recommended)
# - name: Configure Azure Credentials
# uses: azure/login@v2
# with:
# client-id: ${{ secrets.AZURE_CLIENT_ID }}
# tenant-id: ${{ secrets.AZURE_TENANT_ID }}
# subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
# GCP (OIDC - recommended)
# - name: Configure GCP Credentials
# uses: google-github-actions/auth@v2
# with:
# workload_identity_provider: projects/PROJECT_ID/locations/global/workloadIdentityPools/POOL/providers/PROVIDER
# service_account: SA_NAME@PROJECT_ID.iam.gserviceaccount.com
# OpenStack (secrets-based)
# - name: Configure OpenStack Credentials
# run: |
# echo "OS_AUTH_URL=${{ secrets.OS_AUTH_URL }}" >> $GITHUB_ENV
# echo "OS_USERNAME=${{ secrets.OS_USERNAME }}" >> $GITHUB_ENV
# echo "OS_PASSWORD=${{ secrets.OS_PASSWORD }}" >> $GITHUB_ENV
# echo "OS_PROJECT_ID=${{ secrets.OS_PROJECT_ID }}" >> $GITHUB_ENV
# =================================================================
- name: Install plugin
run: make install
- name: Run conformance tests
env:
FORMAE_TEST_RUN_ID: ${{ github.run_id }}-${{ github.run_attempt }}
run: make conformance-test