chore: try granting access to exe on windows #10
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: | |
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 |