diff --git a/.github/workflows/sdks.yml b/.github/workflows/sdks.yml new file mode 100644 index 0000000..07cc6d0 --- /dev/null +++ b/.github/workflows/sdks.yml @@ -0,0 +1,92 @@ +on: + pull_request: + paths-ignore: + - docs + - .devcontainer + - examples + +jobs: + build_sdks: + name: Build SDKs + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + dotnetversion: + - 6.0.x + goversion: + - 1.21.x + nodeversion: + - 18.x + pythonversion: + - "3.9" + # javaversion: + # - "11" + language: + - nodejs + - python + - dotnet + - go + # - java + + steps: + - name: Checkout Repo + uses: actions/checkout@v2 + - name: Unshallow clone for tags + run: git fetch --prune --unshallow --tags + + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version: ${{matrix.goversion}} + + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@v1.12.0 + with: + repo: pulumi/pulumictl + + - name: Install pulumi + uses: pulumi/actions@v5 + + - if: ${{ matrix.language == 'nodejs'}} + name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: ${{matrix.nodeversion}} + registry-url: https://registry.npmjs.org + + - if: ${{ matrix.language == 'dotnet'}} + name: Setup DotNet + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{matrix.dotnetversion}} + + - if: ${{ matrix.language == 'python'}} + name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: ${{matrix.pythonversion}} + + - if: ${{ matrix.language == 'java'}} + name: Setup Java + uses: actions/setup-java@v4 + with: + cache: gradle + distribution: temurin + java-version: ${{matrix.javaversion}} + + - name: Build SDK + run: make ${{ matrix.language }}_sdk + + - name: Build Example + run: make ${{ matrix.language }}_example + + - name: Check worktree clean + run: | + git update-index -q --refresh + if ! git diff-files --quiet; then + >&2 echo "error: working tree is not clean, aborting!" + git status + git diff + exit 1 + fi \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5ffe4f4..093c2ca 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,7 @@ jobs: - name: Install Go uses: actions/setup-go@v5 with: - go-version: ${{matrix.goversion}} + go-version: 1.22.x - name: Install pulumictl uses: jaxxstorm/action-install-gh-release@v1.14.0 with: @@ -21,32 +21,10 @@ jobs: run: git fetch --prune --unshallow --tags - run: make provider - run: make test + - run: make schema && git diff --exit-code -- provider/cmd/pulumi-resource-defang/schema.json - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: version: v1.64 args: --timeout=5m --config=.golangci.yaml provider - - name: Ensure docs are up-to-date - run: | - make docs - git diff --quiet -- ./docs - - name: Ensure examples are up-to-date - run: | - make examples - git diff --quiet -- ./examples - - name: Ensure schema is up-to-date - run: | - make schema - git diff --quiet -- provider/cmd/pulumi-resource-defang/schema-defang.json - - name: Ensure sdks are up-to-date - run: | - make sdks - git diff --quiet -- ./sdks - strategy: - fail-fast: true - matrix: - goversion: - # - 1.18.x - - 1.22.x - diff --git a/examples/dotnet/provider-defang.csproj b/examples/dotnet/provider-defang.csproj index 224bd8d..4928303 100644 --- a/examples/dotnet/provider-defang.csproj +++ b/examples/dotnet/provider-defang.csproj @@ -7,7 +7,7 @@ - + \ No newline at end of file diff --git a/examples/go/go.mod b/examples/go/go.mod index af72d1d..8a1214b 100644 --- a/examples/go/go.mod +++ b/examples/go/go.mod @@ -4,5 +4,5 @@ go 1.20 require ( github.com/pulumi/pulumi/sdk/v3 v3.30.0 - example.com/pulumi-defang/sdk v1.1.0-alpha.1741220010+8d69e1ac + example.com/pulumi-defang/sdk v1.1.0-alpha.1741220968+0411d9f3 ) diff --git a/examples/nodejs/package.json b/examples/nodejs/package.json index 0bef7ee..31c73da 100644 --- a/examples/nodejs/package.json +++ b/examples/nodejs/package.json @@ -6,6 +6,6 @@ "dependencies": { "typescript": "^4.0.0", "@pulumi/pulumi": "^3.0.0", - "@defang-io/pulumi-defang": "1.1.0-alpha.1741220010+8d69e1ac" + "@defang-io/pulumi-defang": "1.1.0-alpha.1741220968+0411d9f3" } } \ No newline at end of file diff --git a/examples/python/requirements.txt b/examples/python/requirements.txt index 436626f..238e5fa 100644 --- a/examples/python/requirements.txt +++ b/examples/python/requirements.txt @@ -1,2 +1,2 @@ -pulumi-defang==1.1.0-alpha.1741220010+8d69e1ac +pulumi-defang==1.1.0-alpha.1741220968+0411d9f3 pulumi>=3.0.0,<4.0.0