145 lines
6.3 KiB
YAML
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
|