fix: parse out python location from version output #31
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: Deploy CLI | |
on: | |
push: | |
branches: | |
- main | |
# on: | |
# push: | |
# tags: | |
# - v* | |
jobs: | |
docker: | |
name: Build & Publish Docker Image | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
run: npm ci | |
- name: Build | |
run: npm run build:docker | |
- name: Build image | |
run: docker build -t localsandbox . | |
bundle-cli: | |
name: Build & Bundle CLI | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
osname: linux | |
arch: x64 | |
- os: windows-latest | |
osname: win | |
arch: x64 | |
- os: macos-latest | |
osname: macos | |
arch: arm64 | |
- os: macos-13 | |
osname: macos | |
arch: x64 | |
runs-on: ${{ matrix.os }} | |
env: | |
BUNDLE_FILENAME: localsandbox-${{ matrix.osname }}-${{ matrix.arch }}.tar.gz | |
PKG_TARGET: ${{ matrix.osname }}-${{ matrix.arch }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up python | |
id: setup-python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
# - name: Install Poetry | |
# uses: snok/install-poetry@v1 | |
# - name: Add Poetry to PATH on windows-latest | |
# if: matrix.osname == 'win' | |
# shell: bash | |
# run: | | |
# echo "C:\Users\runneradmin\.local\bin" >> $GITHUB_PATH | |
# - name: Check Poetry | |
# run: poetry --version | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.23' | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
run: npm ci | |
- name: Bundle CLI | |
run: npm run bundle:cli | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: localsandbox-${{ matrix.osname }}-${{ matrix.arch }} | |
path: ${{ env.BUNDLE_FILENAME }} | |
smoke-test-cli: | |
name: Smoke Test CLI | |
needs: bundle-cli | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
osname: linux | |
arch: x64 | |
- os: windows-latest | |
osname: win | |
arch: x64 | |
- os: macos-latest | |
osname: macos | |
arch: arm64 | |
- os: macos-13 | |
osname: macos | |
arch: x64 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Homebrew | |
if: matrix.osname == 'macos' | |
id: set-up-homebrew | |
uses: Homebrew/actions/setup-homebrew@master | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: localsandbox-${{ matrix.osname }}-${{ matrix.arch }} | |
path: ./ | |
- name: Extract artifact | |
run: tar -xzf localsandbox-${{ matrix.osname }}-${{ matrix.arch }}.tar.gz | |
# - name: List files | |
# run: ls -la | |
# - name: Set execute permission on Windows | |
# if: matrix.os == 'windows-latest' | |
# run: | | |
# icacls localsandbox.exe /grant Everyone:F | |
- name: Smoke test localsandbox | |
run: ./localsandbox${{ (matrix.osname == 'win' && '.exe') || '' }} --version | |
- name: Install az cli (macos) | |
if: matrix.osname == 'macos' | |
run: brew update && brew install azure-cli | |
- name: Install az cli (linux) | |
if: matrix.osname == 'linux' | |
run: curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash | |
- name: Install az cli (windows) | |
uses: crazy-max/ghaction-chocolatey@v3 | |
if: matrix.osname == 'win' | |
with: | |
args: install azure-cli | |
- name: Test az cli | |
run: az --version | |
- name: Smoke test azl | |
run: ./azl${{ (matrix.osname == 'win' && '.exe') || '' }} --version | |
create-release: | |
needs: [bundle-cli, smoke-test-cli] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
# - name: Create a Release | |
# uses: elgohr/Github-Release-Action@v5 | |
# env: | |
# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# title: MyReleaseMessage | |
# tag: MyTag | |
# - name: Create GitHub Release | |
# id: create_release | |
# uses: actions/create-release@v1 | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# tag_name: ${{ env.VERSION }} | |
# release_name: Release ${{ env.VERSION }} | |
# draft: false | |
# prerelease: false | |
# body_path: changelog.md | |
# - name: Upload Release Assets | |
# uses: actions/upload-release-asset@v1 | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# upload_url: ${{ steps.create_release.outputs.upload_url }} | |
# asset_path: ./localsandbox-${{ matrix.os }}-${{ matrix.arch }}.tar.gz | |
# asset_name: localsandbox-${{ matrix.os }}-${{ matrix.arch }}.tar.gz | |
# asset_content_type: application/gzip |