diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 244aaf6..14d36c2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -60,8 +60,75 @@ jobs: runs-on: ubuntu-latest needs: publish_binary steps: - - name: Publish SDKs - uses: pulumi/pulumi-package-publisher@v0.0.14 + - 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@v3 + with: + go-version: ${{ matrix.goversion }} + + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@v1.10.0 + with: + repo: pulumi/pulumictl + + - name: Install pulumi + uses: pulumi/actions@v4 + + - name: Setup Node + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.nodeversion }} + registry-url: ${{ env.NPM_REGISTRY_URL }} + + - name: Setup DotNet + uses: actions/setup-dotnet@v1 + with: + dotnet-version: ${{ matrix.dotnetverson }} + + - name: Setup Python + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.pythonversion }} + + - name: Build SDK + run: make build_${{ matrix.language }} + + - 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 + + - if: ${{ matrix.language == 'python' && env.PUBLISH_PYPI == 'true' }} + name: Publish package to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: ${{ env.PYPI_USERNAME }} + password: ${{ env.PYPI_PASSWORD }} + packages_dir: ${{github.workspace}}/sdk/python/bin/dist + + - if: ${{ matrix.language == 'nodejs' && env.PUBLISH_NPM == 'true' }} + uses: JS-DevTools/npm-publish@v1 + with: + access: "public" + token: ${{ env.NPM_TOKEN }} + package: ${{github.workspace}}/sdk/nodejs/bin/package.json + + - if: ${{ matrix.language == 'dotnet' && env.PUBLISH_NUGET == 'true' }} + name: publish nuget package + run: | + dotnet nuget push ${{github.workspace}}/sdk/dotnet/bin/Debug/*.nupkg -s ${{ env.NUGET_FEED_URL }} -k ${{ env.NUGET_PUBLISH_KEY }} + echo "done publishing packages" + strategy: fail-fast: true matrix: