pulumi/.github/workflows/download-pulumi-cron.yml

145 lines
6.3 KiB
YAML

name: Download Pulumi Cron
"on":
workflow_dispatch: {}
schedule:
- cron: 0 8 * * *
jobs:
macos-homebrew-install:
name: Install Pulumi with Homebrew on macOS
runs-on: macos-latest
steps:
- name: homedate homebrew formulae
run: brew update
- name: homebrew install
run: brew install pulumi
- name: Pulumi Version Details
id: vars
run: |
echo ::set-output name=installed-version::$(pulumi version)
echo ::set-output name=expected-version::v$(curl -sS https://www.pulumi.com/latest-version)
- name: Error if incorrect version found
if: steps.vars.outputs.expected-version != steps.vars.outputs.installed-version
run: |
echo "Expected version ${{ steps.vars.outputs.expected-version }} but found ${{ steps.vars.outputs.installed-version }}"
exit 1
macOS-direct-install:
name: Install Pulumi via script on macOS
runs-on: macos-latest
steps:
- run: curl -fsSL https://get.pulumi.com | sh
- run: echo "/Users/runner/.pulumi/bin" >> $GITHUB_PATH
- name: Pulumi Version Details
id: vars
run: |
echo ::set-output name=installed-version::$(pulumi version)
echo ::set-output name=expected-version::v$(curl -sS https://www.pulumi.com/latest-version)
- run: which pulumi
- name: Error if incorrect version found
if: steps.vars.outputs.expected-version != steps.vars.outputs.installed-version
run: |
echo "Expected version ${{ steps.vars.outputs.expected-version }} but found ${{ steps.vars.outputs.installed-version }}"
exit 1
macos-verify-download-link:
name: Verify Direct Download link on macOS
runs-on: macos-latest
steps:
- name: Direct Download
run: curl -L -o pulumi.tar.gz https://get.pulumi.com/releases/sdk/pulumi-v$(curl -sS https://www.pulumi.com/latest-version)-darwin-x64.tar.gz
- run: ls -la
linux-direct-install:
name: Install Pulumi via script on Ubuntu
runs-on: ubuntu-latest
steps:
- name: Remove existing version
run: sudo rm /usr/local/bin/pulumi
- run: curl -fsSL https://get.pulumi.com | sh
- run: echo "/home/runner/.pulumi/bin" >> $GITHUB_PATH
- name: Pulumi Version Details
id: vars
run: |
echo ::set-output name=installed-version::$(pulumi version)
echo ::set-output name=expected-version::v$(curl -sS https://www.pulumi.com/latest-version)
- run: which pulumi
- name: Error if incorrect version found
if: steps.vars.outputs.expected-version != steps.vars.outputs.installed-version
run: |
echo "Expected version ${{ steps.vars.outputs.expected-version }} but found ${{ steps.vars.outputs.installed-version }}"
exit 1
linux-verify-download-link:
name: Verify Direct Download link on Linux
runs-on: ubuntu-latest
steps:
- name: Direct Download
run: curl -L -o pulumi.tar.gz https://get.pulumi.com/releases/sdk/pulumi-v$(curl -sS https://www.pulumi.com/latest-version)-linux-x64.tar.gz
- run: ls -la
windows-choco-install:
name: Install Pulumi with Chocolatey on Windows
runs-on: windows-latest
steps:
- name: choco install
run: choco upgrade pulumi
- name: Pulumi Version Details
id: vars
shell: bash
run: |
echo ::set-output name=installed-version::$(pulumi version)
echo ::set-output name=expected-version::v$(curl -sS https://www.pulumi.com/latest-version)
- name: Error if incorrect version found
if: steps.vars.outputs.expected-version != steps.vars.outputs.installed-version
run: |
echo "Expected version ${{ steps.vars.outputs.expected-version }} but found ${{ steps.vars.outputs.installed-version }}"
exit 1
windows-direct-install:
name: Install Pulumi via script on Windows
runs-on: windows-latest
steps:
- run: '[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex ((New-Object System.Net.WebClient).DownloadString("https://get.pulumi.com/install.ps1")) && SET \"PATH=%PATH%;%USERPROFILE%\.pulumi\bin\"'
shell: pwsh
- run: echo "C:\Users\runneradmin\.pulumi\bin" >> $GITHUB_PATH
shell: bash
- name: Pulumi Version Details
id: vars
shell: bash
run: |
echo ::set-output name=installed-version::$(pulumi version)
echo ::set-output name=expected-version::v$(curl -sS https://www.pulumi.com/latest-version)
- name: Error if incorrect version found
if: steps.vars.outputs.expected-version != steps.vars.outputs.installed-version
run: |
echo "Expected version ${{ steps.vars.outputs.expected-version }} but found ${{ steps.vars.outputs.installed-version }}"
exit 1
windows-verify-download-link:
name: Verify Direct Download link on Windows
runs-on: windows-latest
steps:
- name: Direct Download
shell: pwsh
run: |
$latestVersion = (Invoke-WebRequest -UseBasicParsing https://www.pulumi.com/latest-version).Content.Trim()
$downloadUrl = "https://get.pulumi.com/releases/sdk/pulumi-v${latestVersion}-windows-x64.zip"
$tempZip = New-Item -Type File (Join-Path $env:TEMP ([System.IO.Path]::ChangeExtension(([System.IO.Path]::GetRandomFileName()), "zip")))
Invoke-WebRequest https://get.pulumi.com/releases/sdk/pulumi-v${latestVersion}-windows-x64.zip -OutFile $tempZip
- run: ls -la
shell: bash
install-via-gha:
name: Install via GHA on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
steps:
- name: Install Pulumi CLI
uses: pulumi/action-install-pulumi-cli@v1.0.1
- name: Pulumi Version Details
id: vars
run: |
echo ::set-output name=installed-version::$(pulumi version)
echo ::set-output name=expected-version::v$(curl -sS https://www.pulumi.com/latest-version)
- name: Error if incorrect version found
if: steps.vars.outputs.expected-version != steps.vars.outputs.installed-version
run: |
echo "Expected version ${{ steps.vars.outputs.expected-version }} but found ${{ steps.vars.outputs.installed-version }}"
exit 1