name: build on: push: branches: [main] pull_request: branches: [main] workflow_dispatch: {} env: GO_VERSION: "1.25.x" NODE_VERSION: "20.x" PYTHON_VERSION: "3.11" DOTNET_VERSION: "8.0.x" # The provider's go.mod carries a local `replace` for the upstream Terraform # provider, so it has to sit next to this checkout under this exact name. UPSTREAM_REPO: maxvojtkov/terraform-provider-dokploy UPSTREAM_DIR: dokploy-teraform jobs: build: runs-on: ubuntu-latest steps: - name: Checkout pulumi-dokploy uses: actions/checkout@v4 with: path: pulumi-dokploy - name: Checkout upstream Terraform provider uses: actions/checkout@v4 with: repository: ${{ env.UPSTREAM_REPO }} path: ${{ env.UPSTREAM_DIR }} - uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} cache-dependency-path: | pulumi-dokploy/provider/go.sum pulumi-dokploy/sdk/go.sum - uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} - uses: actions/setup-python@v5 with: python-version: ${{ env.PYTHON_VERSION }} - uses: actions/setup-dotnet@v4 with: dotnet-version: ${{ env.DOTNET_VERSION }} - uses: pulumi/actions@v6 - name: Lint provider working-directory: pulumi-dokploy run: make lint - name: Build provider plugin working-directory: pulumi-dokploy run: make provider - name: Fail if the checked-in schema is stale working-directory: pulumi-dokploy run: git diff --exit-code -- provider/cmd/pulumi-resource-dokploy/schema.json provider/cmd/pulumi-resource-dokploy/bridge-metadata.json - name: Build SDKs working-directory: pulumi-dokploy run: make build_sdks - name: Build Go SDK working-directory: pulumi-dokploy/sdk run: go build ./... - name: Build .NET SDK working-directory: pulumi-dokploy/sdk/dotnet run: dotnet build --nologo