Skip to content

chore: try granting access to exe on windows #10

chore: try granting access to exe on windows

chore: try granting access to exe on windows #10

Workflow file for this run

name: Deploy CLI
on:
push:
branches:
- main
# on:
# push:
# tags:
# - v*
jobs:
bundle-cli:
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
arch: [x64, arm64]
include:
- os: ubuntu-latest
osname: linux
- os: windows-latest
osname: win
- os: macos-latest
osname: macos
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: 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:
needs: bundle-cli
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
arch: [x64, arm64]
include:
- os: ubuntu-latest
osname: linux
- os: windows-latest
osname: win
- os: macos-latest
osname: macos
steps:
- name: Checkout code
uses: actions/checkout@v4
- 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: Run smoke tests
run: ./localsandbox${{ (matrix.osname == 'win' && '.exe') || '' }} --version
# Add your smoke test steps here
create-release:
needs: [bundle-cli, smoke-test]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
# - name: Generate Changelog
# id: changelog
# run: |
# echo "## Changelog" > changelog.md
# echo "" >> changelog.md
# git log -1 --pretty=format:"%s" >> changelog.md
# - 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