chore(release): release 5.13.0 #125
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Release | |
on: | |
push: | |
branches: | |
- main | |
permissions: | |
contents: read | |
pull-requests: read | |
env: | |
PROVIDER: proxmoxve | |
GO111MODULE: "on" | |
NUGET_FEED_URL: https://api.nuget.org/v3/index.json | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
name: Release | |
outputs: | |
release_created: ${{ steps.release.outputs.releases_created }} | |
permissions: | |
contents: write | |
pull-requests: write | |
steps: | |
- uses: google-github-actions/release-please-action@v3 | |
id: release | |
with: | |
command: manifest | |
publish_provider: | |
if: needs.release.outputs.release_created | |
runs-on: ubuntu-latest | |
name: Publish Provider | |
permissions: | |
id-token: write | |
contents: write | |
needs: | |
- release | |
strategy: | |
max-parallel: 4 | |
matrix: | |
go-version: [1.21.x] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "${{ matrix.go-version }}" | |
- name: Install pulumictl | |
uses: jaxxstorm/action-install-gh-release@v1.10.0 | |
with: | |
repo: pulumi/pulumictl | |
- name: Install Pulumi CLI | |
uses: pulumi/actions@v4 | |
- name: Install cosign | |
uses: sigstore/cosign-installer@v3.1.2 | |
- name: Download Syft | |
uses: anchore/sbom-action/download-syft@v0.14.3 | |
- name: Release via GoReleaser | |
uses: goreleaser/goreleaser-action@v5 | |
with: | |
args: -p 3 release --clean --timeout 60m0s | |
version: latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
publish_sdk: | |
if: needs.release.outputs.release_created | |
runs-on: ubuntu-latest | |
name: Publish SDK | |
permissions: | |
id-token: write | |
contents: read | |
needs: | |
- release | |
- publish_provider | |
env: | |
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} | |
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} | |
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} | |
PUBLISH_REPO_PASSWORD: ${{ secrets.OSS_SONATYPE_PUBLISH_PASSWORD }} | |
PUBLISH_REPO_USERNAME: ${{ secrets.OSS_SONATYPE_PUBLISH_USERNAME }} | |
strategy: | |
max-parallel: 10 | |
matrix: | |
go-version: [1.21.x] | |
node-version: [18.x] | |
dotnet-version: [3.1.301] | |
python-version: [3.9] | |
java-version: [11] | |
language: | |
- go | |
- nodejs | |
- python | |
- dotnet | |
# - java # TODO: https://github.com/muhlba91/pulumi-proxmoxve/issues/66 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "${{ matrix.go-version }}" | |
- name: Install pulumictl | |
uses: jaxxstorm/action-install-gh-release@v1.10.0 | |
with: | |
repo: pulumi/pulumictl | |
- name: Install Pulumi CLI | |
uses: pulumi/actions@v4 | |
- name: Setup DotNet | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: "${{ matrix.dotnet-version }}" | |
if: matrix.language == 'dotnet' | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "${{ matrix.python-version }}" | |
if: matrix.language == 'python' | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "${{ matrix.node-version }}" | |
if: matrix.language == 'nodejs' | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: corretto | |
java-version: ${{ matrix.java-version }} | |
if: matrix.language == 'java' | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
if: matrix.language == 'java' | |
- name: Install Plugins | |
run: make install_plugins | |
- name: Update Path | |
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH | |
- name: Build SDK | |
run: make build_${{ matrix.language }} | |
- name: Publish .NET SDK | |
run: | | |
dotnet nuget push -s "${{ env.NUGET_FEED_URL }}" -k "${{ secrets.NUGET_PUBLISH_KEY }}" ${{github.workspace}}/sdk/dotnet/bin/Debug/*.nupkg | |
if: matrix.language == 'dotnet' | |
- name: Publish Python SDK | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
skip-existing: true | |
packages-dir: "${{ github.workspace }}/sdk/python/bin/dist/" | |
if: matrix.language == 'python' | |
- name: Publish NodeJS SDK | |
uses: JS-DevTools/npm-publish@v2 | |
with: | |
package: ./sdk/nodejs/bin/package.json | |
access: public | |
token: ${{ secrets.NPM_TOKEN }} | |
provenance: true | |
if: matrix.language == 'nodejs' | |
- name: Java PACKAGE_VERSION | |
run: echo "PACKAGE_VERSION=$(pulumictl get version --language generic)" >> $GITHUB_ENV | |
if: matrix.language == 'java' | |
- name: Publish Java SDK | |
uses: gradle/gradle-build-action@v2 | |
with: | |
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository | |
build-root-directory: ./sdk/java | |
if: matrix.language == 'java' | |
tag_sdk: | |
if: needs.release.outputs.release_created | |
runs-on: ubuntu-latest | |
name: Tag SDK Release | |
permissions: | |
id-token: write | |
contents: write | |
needs: | |
- release | |
- publish_sdk | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup Git | |
run: | | |
git config --local user.email "${{ env.GITHUB_ACTION }}+github-actions[bot]@users.noreply.github.com" | |
git config --local user.name "github-actions[bot]" | |
- name: Get Tag Name | |
run: | | |
REF_NAME=`git describe --abbrev=0 --tags` | |
echo "REF_NAME=${REF_NAME}" >> $GITHUB_ENV | |
- name: Tag SDK Version | |
run: | | |
git tag -a sdk/${{ env.REF_NAME }} -m sdk/${{ env.REF_NAME }} | |
- name: Push to Repository | |
run: | | |
git push origin sdk/${{ env.REF_NAME }} |